CVE-2026-28808: ScriptAlias CGI targets bypass directory auth in inets httpd (mod_auth vs mod_cgi path mismatch)
Incorrect Authorization vulnerability in Erlang OTP (inets modules) allows unauthenticated access to CGI scripts protected by directory rules when served via script_alias.
When script_alias maps a URL prefix to a directory outside DocumentRoot, mod_auth evaluates directory-based access controls against the DocumentRoot-relative path while mod_cgi executes the script at the ScriptAlias-resolved path. This path mismatch allows unauthenticated access to CGI scripts that directory rules were meant to protect.
This vulnerability is associated with program files lib/inets/src/http_server/mod_alias.erl, lib/inets/src/http_server/mod_auth.erl, and lib/inets/src/http_server/mod_cgi.erl.
This issue affects OTP from OTP 17.0 until OTP 28.4.2, 27.3.4.10 and 26.2.5.19 corresponding to inets from 5.10 until 9.6.2, 9.3.2.4 and 9.1.0.6.
Security readout for executives and security teams
Plain-English summary
CVE-2026-28808 lets some Erlang OTP inets web servers expose CGI scripts that administrators expected to be protected. The risk is unauthorized network access to sensitive CGI endpoints when ScriptAlias maps scripts outside DocumentRoot and directory authorization rules are relied on.
Executive priority
Treat as high priority where inets httpd exposes CGI over a network. Business urgency depends on whether protected CGI scripts exist; prioritize internet-facing or partner-facing services first.
Technical view
In inets httpd, mod_auth checks directory rules against a DocumentRoot-relative path while mod_cgi executes the ScriptAlias-resolved path. That mismatch can bypass directory-based authorization for CGI scripts served through script_alias. Sources associate the bug with mod_alias.erl, mod_auth.erl, and mod_cgi.erl.
Likely exposure
Exposure is likely limited to Erlang OTP deployments using the inets httpd server with CGI enabled, script_alias configured, and directory-based access controls protecting those CGI scripts. Generic Erlang applications are not automatically exposed by OTP presence alone.
Exploitation context
The source bundle marks KEV as false and provides no evidence of active exploitation. The CVSS 4.0 score is 8.3 with network attack vector, low complexity, no privileges, and no user interaction, but an attacker must reach a vulnerable CGI path and configuration.
Researcher notes
The key condition is a path interpretation mismatch between authorization and CGI execution. Validate configuration state before assuming impact. The source bundle names affected version ranges and patch commits, but does not provide exploit telemetry or broad product impact beyond Erlang OTP inets.
Mitigation direction
Upgrade affected OTP/inets deployments to vendor-fixed releases identified in Erlang guidance.
Prioritize OTP 28.4.2, 27.3.4.10, 26.2.5.19 or later where applicable.
Review ScriptAlias CGI paths that rely on directory authorization rules.
If upgrade timing is unclear, check the Erlang advisory before applying compensating controls.
Restrict network access to sensitive CGI endpoints until remediation is complete.
Validation and detection
Inventory OTP and inets versions on systems running inets httpd.
Identify httpd configurations with CGI and script_alias enabled.
Confirm protected CGI directories are not served from outside DocumentRoot unexpectedly.
Verify directory authentication still applies after upgrade or configuration change.
Review access logs for unexpected unauthenticated CGI requests.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-551: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
CWE-863: Authorization and privilege behavior lookup
Authorization weaknesses can support privilege escalation and valid-account review, depending on exploit path. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-551 · source CWE mapping
Incorrect Behavior Order: Authorization Before Parsing and Canonicalization
Incorrect Behavior Order: Authorization Before Parsing and Canonicalization represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Incorrect Authorization represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.