Nginx UI omits OTP step-up on sensitive mutation routes
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-862.
Summary
Nginx UI before 2.4.1 does not apply the secure session check to several authenticated routes that change backups, DNS credentials, certificates, and Nginx settings (CWE-862). An attacker holding a stolen authenticated session can make these changes without completing the OTP or passkey step-up. Exploitation needs low privileges over the network and no user interaction.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, Nginx UI does not apply RequireSecureSession to multiple authenticated mutation routes even though OTP-enabled users are expected to present a fresh X-Secure-Session-ID for sensitive actions. A stolen authenticated session can therefore create or alter automatic backups, DNS credentials and records, certificates and ACME users, Nginx control settings, and site or stream automation without completing the OTP or passkey step-up. This issue is fixed in version 2.4.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| 0xJacky | nginx-ui | before 2.4.1 | 2.4.1 | Patch available | CNA |
| — | github.com/0xJacky/Nginx-UI (Go) | before 1.9.10-0.20260703131214-23d1934099b0 | 1.9.10-0.20260703131214-23d1934099b0 | Patch available | GHSA-5v7c-xpfp-p65m |
- nginx-ui Vendor0xJacky Affected before 2.4.1 Fixed in 2.4.1 Patch available CNA
- github.com/0xJacky/Nginx-UI (Go) Vendor— Affected before 1.9.10-0.20260703131214-23d1934099b0 Fixed in 1.9.10-0.20260703131214-23d1934099b0 Patch available GHSA-5v7c-xpfp-p65m
Remediation
Upgrade nginx-ui to version 2.4.1, which fixes the issue. Upgrade the github.com/0xJacky/Nginx-UI Go module to 1.9.10-0.20260703131214-23d1934099b0.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA nginx-ui (0xJacky) Fixed in 2.4.1
- Fix · GHSA-5v7c-xpfp-p65m github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20260703131214-23d1934099b0 Advisory →
Timeline
- 2026-10-12 Threatist record created from CVE-2026-84315
- 2026-10-13 CISA SSVC decision points changed
- 2026-10-13 Priority changed: MEDIUM → HIGH
- 2026-10-16 Alias added: GHSA-5v7c-xpfp-p65m
- 2026-10-16 Fix available: Go/github.com/0xJacky/[email protected] · GHSA-5v7c-xpfp-p65m
- 2026-10-16 CVSS score added · GHSA-5v7c-xpfp-p65m
- 2026-10-16 Weakness changed · GHSA-5v7c-xpfp-p65m
- 2026-10-16 5 new references · GHSA-5v7c-xpfp-p65m
References
More 0xJacky vulnerabilities
- TI-2026-25478 Nginx UI: Unauthenticated MCP Endpoint Allows Remote Nginx Takeover CVSS 3.1CRITICAL 9.8
- TI-2026-25472 nginx-ui Backup Restore Allows Tampering with Encrypted Backups CVSS 4.0CRITICAL 9.4
- TI-2026-22288 Nginx UI: Unauthenticated Backup Download with Encryption Key Disclosure CVSS 3.1CRITICAL 9.8
- TI-2024-15821 Nginx-UI arbitrary file write through the Import Certificate feature CVSS 3.1CRITICAL 9.8
- TI-2026-70057 Code injection in Nginx UI backup restore allows code execution CVSS 4.0CRITICAL 9.4
- TI-2026-32056 Nginx UI: Server-Side Request Forgery (SSRF) via Cluster Proxy Middleware Allows Access to Internal Services CVSS 3.1CRITICAL 9.9
Sources
- CVE-2026-84315 · CVE Program
- CVE-2026-84315 · NVD
- FIRST EPSS
- GHSA-5v7c-xpfp-p65m · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences