Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify inets httpd endpoint with mod_auth
-
DeliverySend HTTP request with case-variant path
-
ExploitRegex match bypassed without caseless flag
-
ExecutionAuthentication challenge skipped entirely
-
PersistCase-insensitive filesystem resolves path
-
Impactmod_get serves protected file unauthenticated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
|
| Exploitation Conditions | Three conditions must hold simultaneously. First, the target must run Erlang/OTP inets httpd with mod_auth configured to protect one or more directories - deployments using other Erlang web frameworks such as Cowboy or Phoenix/Plug are entirely unaffected. Second, the server must be hosted on a case-insensitive filesystem: Windows NTFS and macOS default HFS+/APFS qualify; Linux ext4, xfs, and btrfs (case-sensitive by default) do not, and such deployments are fully immune regardless of OTP version. Third, the attacker must request a specific file using a path whose directory component casing differs from the configured protected directory name - directory enumeration or prior knowledge of filenames is therefore a practical prerequisite. No privileges or user interaction are required on affected deployments. Exploitation is bounded to confidentiality; no write path, privilege escalation, or code execution vector exists through this flaw. |
| Impact | The CVSS 4.0 score of 8.2 reflects network-accessible, unauthenticated read of high-confidentiality data, but the AT:P (Attack Requirements: Present) metric is the decisive differentiator - exploitation is strictly limited to deployments on case-insensitive filesystems such as Windows NTFS and macOS default HFS+/APFS. The large majority of production Erlang deployments run on Linux with case-sensitive ext4 or similar filesystems, rendering them immune because the OS itself rejects mismatched casing before mod_get can serve anything. EPSS data was not provided in the available intelligence, and the vulnerability is absent from CISA KEV with no proof-of-concept identified in the provided data - consistent with no widespread exploit tooling having emerged yet. Where conditions are met, the attack requires zero privileges and zero user interaction, and the high confidentiality impact means protected credentials, configuration secrets, or application data are directly readable over the network. Real-world risk is high for the specific Windows and macOS deployment population using inets httpd with mod_auth, and low to negligible for the broader Erlang ecosystem on standard Linux infrastructure. |
| Exploit ScenarioDerived | An unauthenticated attacker targeting a Windows Server host running Erlang/OTP inets httpd sends GET /Secret/admin.cfg HTTP/1.1 when the mod_auth-protected directory is configured as /secret/. The regex in secret_path/3 does not match /Secret/ against /secret/ without the caseless option, so no WWW-Authenticate challenge is issued; NTFS resolves both paths to the same file and mod_get returns the file contents directly. No public exploit code has been identified at time of analysis, and the technique requires only a standard HTTP client with knowledge of a valid filename within a protected directory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Unauthenticated file disclosure in Erlang/OTP's inets httpd allows remote attackers on case-insensitive filesystem deployments to read files inside mod_auth-protected directories by requesting them with differently-cased path segments. The flaw spans OTP 17.0 through 29.x (inets 5.10 through 9.7.x) and stems from mod_auth's path-matching regex omitting the caseless flag, causing authentication checks to be silently bypassed when request path casing differs from the configured directory name while the filesystem resolves both to the same file. No public exploit code or active exploitation has been identified at time of analysis, and deployments on case-sensitive filesystems - the default on Linux - are fully unaffected by this vulnerability.
RemediationAI
Upgrade to OTP 27.3.4.17 or later (27.x branch), OTP 28.5.0.6 or later (28.x branch), or OTP 29.0.6 or later (29.x branch), corresponding to patched inets versions 9.3.2.7, 9.6.2.3, and 9.7.2 respectively. Patch commits are published at https://github.com/erlang/otp/commit/bac19eb3dbd96cc49b6d8cabc1c04248bf8c79f6, https://github.com/erlang/otp/commit/d8878dec0ececc2eab18e47bb18b472f224ca633, and https://github.com/erlang/otp/commit/9641944a2efbf55bea760f8ff7ba777fe3a0961c. If immediate upgrade is not feasible on case-insensitive filesystem deployments, place a reverse proxy (such as nginx) in front of inets httpd configured to lowercase-normalize URL paths before forwarding - this reduces the attack surface but adds an additional component to maintain and operate. A simpler compensating control is to migrate the httpd document root to a case-sensitive filesystem volume (e.g., a case-sensitive APFS container on macOS), which removes the vulnerability's precondition entirely without requiring a code change. Full advisory and version table: https://github.com/erlang/otp/security/advisories/GHSA-mh78-93cr-jx8f.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Erlang/OTP's inets application ships an embedded HTTP server (httpd) with a modular pipeline including mod_auth for Basic HTTP authentication and directory-level access control, and mod_get for static file serving. The root cause is CWE-178 (Improper Handling of Case Sensitivity): the secret_path/3 function in mod_auth.erl uses re:run/3 to test whether a resolved filesystem path falls within a configured protected directory, but the call omits the caseless option. When a request for /Secret/file is compared against a configured directory of /secret/, the regex does not match, so no authentication challenge is issued - yet the case-insensitive filesystem resolves both paths to the identical inode, which mod_get then serves without restriction. The upstream patch (commit bac19eb) adds the caseless flag to the re:run/3 call in mod_auth.erl and also introduces collapse_slashes/1 to canonicalize consecutive-slash sequences, closing a related double-slash bypass variant simultaneously. Affected CPE: cpe:2.3:a:erlang:otp:*:*:*:*:*:*:*:*.
Know when Erlang gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Case-insensitive filesystem is a specific non-default environmental prerequisite warranting AC:H; exploitation is read-only with no integrity or availability impact.
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Improper Handling of Case Sensitivity vulnerability in Erlang/OTP inets httpd allows a remote unauthenticated attacker to read files inside a mod_auth protected directory by requesting them with different casing, on deployments whose filesystem is case-insensitive.
mod_auth:secret_path/3 decides whether a resolved filesystem path lies inside a protected directory block by running the configured directory path through re:run/3 without the caseless option. A request for /secret/file against a directory configured as /Secret therefore does not match, so the request is treated as unprotected and no authentication challenge is issued, while the filesystem resolves the differently cased path to the same file and mod_get serves it. Deployments on case-sensitive filesystems are unaffected, because there the filesystem itself rejects the mismatched casing.
This issue affects OTP from OTP 17.0 before OTP 27.3.4.17, from OTP 28.0 before OTP 28.5.0.6, and from OTP 29.0 before OTP 29.0.6, corresponding to inets from 5.10 before 9.3.2.7, from 9.4 before 9.6.2.3, and from 9.7 before 9.7.2. Whether OTP before OTP 17.0, corresponding to inets before 5.10, is affected is unknown.
Technical POC Analysis
CWE-178 (Improper Handling of Case Sensitivity).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Erlang/OTP web server deployments on Windows and macOS are vulnerable to unauthenticated retrieval of files protected by authentication modules. The vulnerability affects inets httpd versions 5.10 through 9.7.x (OTP 17.0-29.x) and exploits case-sensitivity differences to bypass file access controls; organizations relying on Erlang-based web services on non-Linux platforms face exposure of confidential files to remote attackers without valid credentials.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Erlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling
The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Rebar3 versions 3.0.0-beta.3 to 3.13.2 are vulnerable to OS command injection via URL parameter of dependency specificat
Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje
A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV
An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in
Erlang/OTP's ssl application in affected releases (OTP 22.2 through the fixed 27.3.4.18, 28.5.0.7 and 29.1.1) will compl
RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b
TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged
An on-path attacker can force an Erlang/OTP TLS 1.2 or DTLS client to accept an anonymous cipher suite not offered by th
Same weakness CWE-178 – Improper Handling of Case Sensitivity
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-69243
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB