Approved changes feed: RSS · Atom

cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:*

part: a version: * update: *

Vendor0Xjacky (c4e0923b-58f1-5687-a9d1-387c996ca5d1)
ProductNginx Ui (8ba8cd69-4894-54e7-876c-1d24c242050c)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*

Notes

Imported from gcve-enriched-dumps CVE data

PURL mappings

PURLSourceLast updated
No PURL mappings for this CPE yet.

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-84318 vulnerable 2026-11-03 10:16:30.382663 Nginx UI: MCP `nginx_config_add` Bypasses Directive Validation — Authenticated RCE
HIGH (8.8)
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.
Published: 2026-10-12T20:20:18.595Z
Updated: 2026-10-13T14:59:04.180Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-84314 vulnerable 2026-11-03 10:16:30.272170 Nginx UI: Account Takeover via Missing `RequireSecureSession` on User Management Endpoint
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, the POST /api/users/:id user-management endpoint permits an authenticated user to change another user's password without passing RequireSecureSession, even though the self-service password-change path requires that step-up. An attacker with an authenticated account can change the initial administrator's password, invalidate existing administrator tokens, and then authenticate as the administrator. This issue is fixed in version 2.4.1.
Published: 2026-10-12T20:47:51.561Z
Updated: 2026-10-13T17:32:02.947Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-84313 vulnerable 2026-11-03 10:16:30.062256 Nginx UI: TOTP / passkey enrolment requires no re-authentication, enabling persistent account takeover
HIGH (8.8)
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, POST /api/otp_enroll and POST /api/finish_passkey_register are registered outside RequireSecureSession and accept a normal authenticated session without verifying the current password. An attacker with a stolen JWT can bind an attacker-controlled TOTP secret when the victim has not already enabled TOTP, or can register an attacker-controlled passkey because that path has no equivalent existing-enrollment guard. These changes create persistent account access that can survive a password change and interfere with the legitimate user's authentication. This issue is fixed in version 2.4.1.
Published: 2026-10-12T20:51:44.751Z
Updated: 2026-10-15T13:48:40.557Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-84317 vulnerable 2026-11-03 10:16:30.025421 Nginx UI: MCP nginx_config_add skips config directive validation → authenticated nginx directive injection (RCE on the official image)
HIGH (8.8)
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, internal/config/validation.go (ValidateConfigFile) is a security control that blocks dangerous nginx directives — js_*, perl_*, load_module of the njs/perl modules, and user root. It is enforced on three of the four config-write paths: api/config/add.go, api/config/modify.go, and mcp/config/config_modify.go. The fourth path — the MCP tool nginx_config_add (mcp/config/config_add.go) — does NOT call it: it writes the caller-supplied content straight to disk and reloads nginx. An authenticated MCP caller (or an MCP agent induced via prompt injection) can therefore inject exactly the directives the control is meant to block, leading to nginx code execution on deployments where the njs/perl module is available (e.g. the official Docker image). This issue is fixed in version 2.4.1.
Published: 2026-10-12T20:59:58.019Z
Updated: 2026-10-13T17:50:15.931Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-84312 vulnerable 2026-11-03 10:16:29.812674 Nginx UI: Casdoor SSO callback uses a constant `state` parameter (login CSRF)
HIGH (7.1)
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, GetCasdoorUri uses the configured Casdoor application name as a constant OAuth state value and CasdoorCallback does not compare the submitted state with a value bound to the initiating browser session. An unauthenticated attacker can cause a victim's browser to complete an attacker-controlled Casdoor authorization flow, and the callback can mint a Nginx UI session for the identity returned by that authorization code. This issue is fixed in version 2.4.1.
Published: 2026-10-12T21:16:56.072Z
Updated: 2026-10-14T11:36:49.978Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-107806 vulnerable 2026-11-03 10:15:59.495581 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-107811 vulnerable 2026-11-03 10:15:59.169883 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-44015 vulnerable 2026-06-08 08:03:18.065574 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-42238 vulnerable 2026-06-08 08:03:16.064223 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-42223 vulnerable 2026-06-08 08:03:16.051053 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-42222 vulnerable 2026-06-08 08:03:16.048024 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-42221 vulnerable 2026-06-08 08:03:16.047396 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-42220 vulnerable 2026-06-08 08:03:16.045624 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-34403 vulnerable 2026-06-08 07:59:12.478466 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33032 vulnerable 2026-06-08 07:57:18.488014 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33031 vulnerable 2026-06-08 07:57:18.487724 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33030 vulnerable 2026-06-08 07:57:18.487399 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33029 vulnerable 2026-06-08 07:57:18.487078 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33028 vulnerable 2026-06-08 07:57:18.484828 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33027 vulnerable 2026-06-08 07:57:18.484367 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33026 vulnerable 2026-06-08 07:57:18.482828 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-27944 vulnerable 2026-06-08 07:55:14.691928 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-49368 vulnerable 2026-06-08 06:50:13.698446 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-49367 vulnerable 2026-06-08 06:50:13.683738 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-49366 vulnerable 2026-06-08 06:50:13.641898 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-23828 vulnerable 2026-06-08 06:29:40.725595 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-23827 vulnerable 2026-06-08 06:29:40.672342 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-22198 vulnerable 2026-06-08 06:29:34.103112 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-22197 vulnerable 2026-06-08 06:29:34.098196 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-22196 vulnerable 2026-06-08 06:29:34.086119 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.

Inspect record JSON

Open JSON directly

Open this panel to browse, search, copy or download the JSON record.