Listen to this Post
A Server-Side Request Forgery (SSRF) protection bypass has been identified in Directus versions prior to 12.0.0. The vulnerability resides in the file-import-from-URL feature, which is designed to block requests to internal or private network addresses. The protection mechanism uses a deny-list configuration variable, IMPORT_IP_DENY_LIST, which, by default, includes the entry '0.0.0.0'.
The flaw exists in the processing logic within the `api/src/request/is-denied-ip.ts` file. When the code encounters `0.0.0.0` in the deny list, it incorrectly interprets this as a special keyword intended to block all local network interfaces. Consequently, it sets a flag and skips the entry without ever adding the literal IP address `0.0.0.0` to the blocklist. Instead, the system blocks the loopback subnet `127.0.0.0/8` and other network interface addresses.
The critical oversight is that `0.0.0.0` does not belong to the `127.0.0.0/8` range; it is part of the separate `0.0.0.0/8` range. Therefore, a request made to http://0.0.0.0` passes the blocklist check and is deemed "allowed." However, at the operating system level on Linux and macOS, connecting to `0.0.0.0` is functionally equivalent to connecting to `localhost` (127.0.0.1). The same bypass applies to the IPv6 unspecified address::.http://0.0.0.0:
This allows an authenticated user with file-upload permissions to exploit the `/files/import` endpoint. By importing a file from a URL pointing to, the server will fetch the internal service and store the response as a downloadable file, resulting in a full-read SSRF. This vulnerability effectively bypasses the protections put in place for previous CVEs, including CVE-2026-35409 and CVE-2024-46990.
<h2 style="color: blue;">DailyCVE Form</h2>
Platform: Directus
Version: < 12.0.0
Vulnerability: SSRF Protection Bypass
Severity: High (CVSS: 7.7)
date: 2026-07-15
<h2 style="color: blue;">Prediction: Already Patched (2026-07-15)</h2>
<h2 style="color: blue;">What Undercode Say: Analytics</h2>
The following analytics and commands can be used to understand and test the vulnerability.
Check the current version of Directus
npx directus --version
Test the SSRF bypass by importing a file from the internal API
Replace <admin-api-key> and <directus-url> with actual values
curl -X POST <directus-url>/files/import \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <admin-api-key>" \
-d '{"url": "http://0.0.0.0:8055/server/info"}'
Check the contents of the imported file to confirm the SSRF
Replace <file-id> with the ID from the previous response
curl -X GET <directus-url>/assets/<file-id> \
-H "Authorization: Bearer <admin-api-key>"
<h2 style="color: blue;">How Exploit:</h2>
1. Authenticate: Obtain a valid API token for a user with `create` permission ondirectus_files.http://0.0.0.0:
2. Craft Request: Send a `POST` request to the `/files/import` endpoint.
3. Bypass Payload: In the request body, set the `url` parameter to
4. Server-Side Fetch: The Directus server will process the request, bypass the IP deny-list, and connect to its own `localhost` on the specified port and path.
5. Exfiltrate Response: The server will store the response from the internal service as a file.
6. Retrieve Data: The attacker can then download the file, accessing sensitive internal data.
Protection
- Upgrade Directus: The primary and most effective mitigation is to upgrade to Directus version 12.0.0 or later.
- Network-Level Firewall: Implement firewall rules to restrict outbound connections from the Directus server, preventing it from accessing internal services.
- Manual IP Deny-List: As a temporary workaround, manually add the `127.0.0.0/8` CIDR range to the `IMPORT_IP_DENY_LIST` to block all loopback addresses.
Impact
- Full-Read SSRF: An authenticated attacker can read any internal service reachable from the Directus server.
- Internal Network Reconnaissance: Attackers can scan internal ports and services.
- Data Exfiltration: Sensitive data from databases, caches, internal APIs, and cloud instance metadata (e.g., AWS IMDS) can be exfiltrated.
- Bypass of Previous Fixes: This vulnerability bypasses the SSRF protections implemented for CVE-2026-35409 and CVE-2024-46990.
🎯Let’s Practice Exploiting & Learn Patching For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

