twenty-server SSRF protection bypass via IPv4-mapped IPv6 address normalization
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-918 and the CVSS impact.
Summary
Twenty is an open source CRM built with NestJS (Node.js). In versions 1.18.0 and earlier, the SSRF protection in twenty-server's SecureHttpClientService can be bypassed using IPv4-mapped IPv6 addresses in URL IP literals. Node.js's URL parser normalizes IPv4-mapped IPv6 addresses to compressed hex form (e.g., ::ffff:169.254.169.254 becomes ::ffff:a9fe:a9fe), but the isPrivateIp utility only recognizes the dotted-decimal notation. As a result, the hex form passes the SSRF check unchecked. Additionally, the socket lookup validation event does not fire for IP literal addresses, bypassing the second validation layer. An authenticated user can reach any internal IP, including cloud metadata endpoints, to exfiltrate credentials such as IAM keys.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33975
More twentyhq vulnerabilities
- TI-2026-21368 An issue in Twenty CRM v1.15.0 and before allows a remote attacker to execute arbitrary… CVSS 3.1CRITICAL 9.8
- TI-2026-34280 Twenty: SQL Injection via the timeZone field CVSS 3.1CRITICAL 9.9
- TI-2026-51276 Twenty: SQL Injection in the `searchVector` Field Settings Allows Arbitrary PostgreSQL Execution CVSS 3.1CRITICAL 9.1
- TI-2026-32616 Twenty: Stored Cross-Site Scripting via Unsanitized File Serving (Missing Content-Type/Content-Disposition Headers) CVSS 3.1HIGH 8.7
- TI-2026-40122 Twenty: Cross-workspace IDOR in AgentTurnResolver CVSS 3.1HIGH 7.6
- TI-2024-18876 The CRM platform Twenty is vulnerable to stored cross site scripting via file upload in… CVSS 3.1HIGH 7.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences