CVE-2026-84318

Source
https://cve.org/CVERecord?id=CVE-2026-84318
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-84318.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-84318
Aliases
Published
2026-10-12T20:20:18Z
Modified
2026-10-28T02:31:06Z
Severity
  • 8.8 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Nginx UI: MCP `nginx_config_add` Bypasses Directive Validation — Authenticated RCE
Details

Nginx UI is a web user interface for the Nginx web server. From 2.0.0-rc.6 until 2.4.1, the MCP tool nginx_config_add writes nginx configuration files to disk and triggers an nginx reload without calling config.ValidateConfigFile. The identical flow in the REST API (POST /api/configs) does call that function and correctly rejects dangerous directives. An authenticated attacker can exploit this gap to write config files containing any blocked directive (perl, js_import, load_module, user root, etc.), bypassing nginx-ui's entire security layer. On a server with the nginx Perl, njs, or Lua module loaded, this is post-authentication Remote Code Execution. This issue is fixed in version 2.4.1.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-693"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84318.json"
}
References

Affected packages

Git / github.com/0xjacky/nginx-ui

Affected ranges

Type
GIT
Repo
https://github.com/0xjacky/nginx-ui
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "2.0.0-rc.6"
                },
                {
                    "fixed": "2.4.1"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "fixed": "23d1934099b05b2a01589b48129dc3d3159d91c2"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "original_tag": "v2.4.1",
            "range": [
                {
                    "fixed": "0540f3ecf7824e9adbe408f3166d151651ccf4dd"
                }
            ],
            "source": "REFERENCES_TAG"
        }
    ]
}

Affected versions

v2.*
v2.0.0
v2.0.0-rc.6
v2.0.0-rc.6-patch.1
v2.0.0-rc.6-patch.2
v2.0.0-rc.6-patch.3
v2.0.0-rc.6-patch.4
v2.0.0-rc.6-patch.5
v2.0.0-rc.7
v2.0.0-rc.7-patch.2
v2.0.0-rc.7-patch.3
v2.0.0-rc.7-patch.4
v2.0.0-rc.7-patch.5
v2.0.0-rc.7-patch.6
v2.0.0-rc.7-patch.7
v2.0.0-rc.7-patch.8
v2.0.0-rc.8
v2.0.0-rc.8-patch.1
v2.0.1
v2.0.2
v2.1.0
v2.1.0-beta.1
v2.1.0-patch.1
v2.1.0-rc.1
v2.1.0-rc.2
v2.1.0-rc.3
v2.1.1
v2.1.10
v2.1.11
v2.1.12
v2.1.13
v2.1.14
v2.1.15
v2.1.16
v2.1.17
v2.1.2
v2.1.3
v2.1.4
v2.1.4-patch.1
v2.1.5
v2.1.6
v2.1.7
v2.1.8
v2.1.9
v2.2.0
v2.2.0-patch.1
v2.2.1
v2.3.0
v2.3.1
v2.3.10
v2.3.11
v2.3.2
v2.3.3
v2.3.4
v2.3.5
v2.3.6
v2.3.7
v2.3.8
v2.3.9
v2.4.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-84318.json"