CVE-2026-33032 in the critical feed json
Nginx UI: Unauthenticated MCP Endpoint Allows Remote Nginx Takeover
published 2026-03-30 7 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-17158 , GHSA-h6c2-x2m2-mwhf , GO-2026-4904
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 35.3%
- EPSS 35.3% chance of exploitation in 30 days, percentile 98%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
Nginx UI is a web user interface for the Nginx web server. In versions 2.3.5 and prior, the nginx-ui MCP (Model Context Protocol) integration exposes two HTTP endpoints: /mcp and /mcp_message. While /mcp requires both IP whitelisting and authentication (AuthRequired() middleware), the /mcp_message endpoint only applies IP whitelisting - and the default IP whitelist is empty, which the middleware treats as "allow all". This means any network attacker can invoke all MCP tools without authentication, including restarting nginx, creating/modifying/deleting nginx configuration files, and triggering automatic config reloads - achieving complete nginx service takeover. At time of publication, there are no publicly available patches.
Patch / fix
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260402T184258-150000.1.158.1
suse advisories SUSE-SU-2026:1205-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 7 mo ago
Exploit prediction
35.27% chance of exploitation in the next 30 days, higher than 98% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template Nginx UI - Broken Access Control nuclei detection template
- github.com https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-h6c2-x2m2-mwhf referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/0xJacky/Nginx-UI | <=1.99 all versions |
no fix listed |
Affected products
- 0xJacky nginx-ui
Classification
- Weakness
-
- CWE-306 Missing Authentication for Critical Functionality
References
-
github.com
/0xJacky/nginx-ui/security/advisories/GHSA-h6c2-x2m2-mwhf
exploit, web, mitigation, vendor-advisory, advisory
-
websec.net
/blog/cve-2026-33032-unauthenticated-nginx-ui-mcp-takeover-69e1200f9fceb1f3fbe9c47f
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-33032
advisory
-
github.com
/0xJacky/nginx-ui
package
-
github.com
/0xJacky/nginx-ui/blob/f89f8ff8223478988f7ed49bf1d3dbf2de44bf92/internal/middleware/ip_whitelist.go#L11-L26
web
-
github.com
/0xJacky/nginx-ui/blob/f89f8ff8223478988f7ed49bf1d3dbf2de44bf92/mcp/router.go#L9-L17
web
Sources
- CVE List CVE-2026-33032
- GitHub Advisory GHSA-h6c2-x2m2-mwhf
- NVD CVE-2026-33032
- OSV GO-2026-4904
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.