Skip to main content

Microsoft CVE-2026-35409

| EUVDEUVD-2026-19517 HIGH
Improper Input Validation (CWE-20)
2026-04-04 https://github.com/directus/directus GHSA-wv3h-5fx7-966h
7.7
CVSS 3.1 · Vendor: https://github.com/directus/directus
Share

Severity by source

Vendor (https://github.com/directus/directus) PRIMARY
7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N

Primary rating from Vendor (https://github.com/directus/directus) · only source for this CVE.

CVSS VectorVendor: https://github.com/directus/directus

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

5
Re-analysis Queued
Apr 20, 2026 - 16:52 vuln.today
cvss_changed
Patch released
Apr 04, 2026 - 08:30 nvd
Patch available
EUVD ID Assigned
Apr 04, 2026 - 06:15 euvd
EUVD-2026-19517
Analysis Generated
Apr 04, 2026 - 06:15 vuln.today
CVE Published
Apr 04, 2026 - 06:10 nvd
HIGH 7.7

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 2 npm packages depend on directus (1 direct, 1 indirect)

Ecosystem-wide dependent count for version 11.16.0.

DescriptionCVE.org

Summary

A Server-Side Request Forgery (SSRF) protection bypass has been identified and fixed in Directus. The IP address validation mechanism used to block requests to local and private networks could be circumvented using IPv4-Mapped IPv6 address notation.

Details

Directus implements an IP deny-list to prevent server-side requests to internal/private network ranges. The validation logic failed to normalize IPv4-Mapped IPv6 addresses (e.g., the IPv6 representation of 127.0.0.1) before checking them against the deny-list. Because the deny-list check did not recognize these mapped addresses as equivalent to their IPv4 counterparts, an attacker could bypass the restriction while the underlying HTTP client and operating system still resolved and connected to the intended private target.

This has been fixed by adding a normalization step that converts IPv4-Mapped IPv6 addresses to their canonical IPv4 form prior to validation.

Impact

An authenticated user (or an unauthenticated user if public file-import permissions are enabled) could exploit this bypass to perform SSRF attacks against internal services on the same host (databases, caches, internal APIs) or cloud instance metadata endpoints (e.g., AWS/GCP/Azure IMDS).

AnalysisAI

Server-Side Request Forgery (SSRF) in Directus headless CMS allows authenticated attackers (or unauthenticated users with public file-import permissions) to bypass IP address deny-list protections and access internal network resources. Attackers exploit IPv4-Mapped IPv6 address notation (e.g., ::ffff:127.0.0.1) to circumvent validation logic, enabling unauthorized requests to localhost services, internal databases, caches, APIs, and cloud instance metadata endpoints (AWS/GCP/Azure IMDS). With CVSS 7.7 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) indicating low attack complexity, network accessibility, and scope change with high confidentiality impact, this represents a significant risk for data exfiltration from cloud environments and internal infrastructure. No public exploit identified at time of analysis, though the technical details in the advisory provide clear exploitation guidance.

Technical ContextAI

Directus is a popular open-source headless CMS built on Node.js (pkg:npm/directus). This vulnerability stems from improper input validation (CWE-20) in the IP address filtering mechanism designed to prevent SSRF attacks. The system maintains a deny-list of private and internal IP ranges to block server-side requests to sensitive targets. However, the validation logic failed to normalize IPv4-Mapped IPv6 addresses before comparison. IPv4-Mapped IPv6 addresses use the format ::ffff:xxx.xxx.xxx.xxx to represent IPv4 addresses within the IPv6 address space. When an attacker submits a request using this notation (e.g., ::ffff:127.0.0.1 instead of 127.0.0.1), the deny-list check does not recognize the equivalence to the blocked IPv4 address. The underlying Node.js HTTP client and operating system networking stack, however, correctly resolve and connect to the IPv4 target, allowing the SSRF attack to succeed. The fix implements address normalization that converts IPv4-Mapped IPv6 addresses to canonical IPv4 format before deny-list validation, ensuring consistent enforcement across address representations.

RemediationAI

Update Directus to the latest patched version as specified in the GitHub security advisory at github.com/directus/directus/security/advisories/GHSA-wv3h-5fx7-966h. The fix implements normalization of IPv4-Mapped IPv6 addresses to canonical IPv4 format before IP deny-list validation. Organizations should verify their current Directus version against the advisory and upgrade immediately if running an affected version. As an interim mitigation, restrict file-import functionality to trusted authenticated users only and disable public file-import permissions if enabled. Network-level controls such as egress filtering from the Directus server to prevent outbound connections to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, and link-local ranges) can provide defense-in-depth. For cloud deployments, implement IMDSv2 (which requires PUT request headers) on AWS EC2 instances to reduce metadata service exploitation risk. Review application logs for suspicious file-import requests containing IPv6 address notation as potential indicators of exploitation attempts.

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2016-3714 HIGH POC
8.4 May 05

The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.

CVE-2017-12617 HIGH POC
8.1 Oct 04

When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT

CVE-2016-8735 CRITICAL POC
9.8 Apr 06

Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2016-5195 HIGH POC
7.0 Nov 10

Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev

CVE-2013-2423 LOW POC
3.7 Apr 17

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and

CVE-2023-4911 HIGH POC
7.8 Oct 03

Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected

Share

CVE-2026-35409 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy