Directus SSRF Vulnerability via IPv4-Mapped IPv6 Addresses
Directus versions before 11.16.0 are vulnerable to Server-Side Request Forgery (SSRF) due to a bypass in IP address validation using IPv4-Mapped IPv6 addresses, allowing attackers to access internal services and sensitive cloud metadata.
What's new
- l1 OS linux; OS macos Jul 20, 21:49 via ghsa
Directus, a headless CMS, is susceptible to an SSRF vulnerability (CVE-2026-35409) affecting versions prior to 11.16.0. This flaw allows attackers to bypass the intended IP deny-list by utilizing IPv4-Mapped IPv6 addresses. The vulnerability stems from the application's failure to properly normalize these addresses before validating them against the deny-list. This means an attacker can craft requests that appear to originate from a safe, external source, while the underlying system resolves the request to an internal resource. This vulnerability could be exploited by authenticated users or, in cases where public file import is enabled, by unauthenticated users. This issue was addressed in Directus version 11.16.0.
Attack Chain
- An attacker identifies a Directus instance running a version prior to 11.16.0.
- The attacker authenticates to the Directus instance (or exploits public file import functionality if enabled).
- The attacker crafts a malicious request to import a file, specifying a target IP address using an IPv4-Mapped IPv6 address (e.g.,
::ffff:127.0.0.1for localhost). This is done through the file import mechanism in Directus. - Directus's IP deny-list validation logic fails to properly normalize the IPv6 address. The check does not recognize the IPv6 form as representing a blocked IPv4 address.
- The request bypasses the deny-list.
- The underlying HTTP client within Directus resolves the IPv6 address to its IPv4 equivalent.
- The request is sent to the internal service or cloud metadata endpoint specified in the IPv4-Mapped IPv6 address.
- The attacker receives the response from the internal service, potentially containing sensitive information like database credentials, cached data, internal API responses, or cloud instance metadata.
Impact
Successful exploitation of this SSRF vulnerability (CVE-2026-35409) can lead to the exposure of sensitive internal resources. An attacker could potentially access databases, caches, internal APIs, or cloud instance metadata. The impact includes potential data breaches, privilege escalation within the internal network, and unauthorized access to cloud resources. Given the potential access to cloud instance metadata, attackers could gain access to AWS, GCP, or Azure environments. The number of vulnerable Directus instances is unknown, but any unpatched instance is at risk.
Recommendation
- Upgrade Directus to version 11.16.0 or later to remediate the vulnerability as described in the overview.
- Implement a web application firewall (WAF) rule to block requests containing IPv4-Mapped IPv6 addresses in file import requests to mitigate potential exploitation, even if the Directus instance is patched. Focus on filtering
cs-uri-queryandcs-uri-pathfor patterns like "::ffff:". - Monitor web server logs (
category: webserver,product: linux) for requests containing IPv4-Mapped IPv6 addresses targeting internal resources. Create a Sigma rule to detect such patterns in cs-uri-query or cs-uri-path fields.
Detection coverage 2
Detect Directus SSRF Attempt via IPv4-Mapped IPv6 Address
highDetects attempts to exploit the Directus SSRF vulnerability (CVE-2026-35409) by using IPv4-Mapped IPv6 addresses in file import requests.
Detect Directus SSRF Attempt via IPv4-Mapped IPv6 Address in URI Path
highDetects attempts to exploit the Directus SSRF vulnerability (CVE-2026-35409) by using IPv4-Mapped IPv6 addresses in the request URI path.
Detection queries are available on the platform. Get full rules →
Indicators of compromise
2
ip
1
url
| Type | Value |
|---|---|
| ip | 0.0.0.0 |
| ip | 169.254.169.254 |
| url | http://0.0.0.0:8055/ |