Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
7DescriptionGitHub Advisory
Nginx UI is a web user interface for the Nginx web server. Prior to version 2.3.5, all WebSocket endpoints in nginx-ui use a gorilla/websocket Upgrader with CheckOrigin unconditionally returning true, allowing Cross-Site WebSocket Hijacking (CSWSH). Combined with the fact that authentication tokens are stored in browser cookies (set via JavaScript without HttpOnly or explicit SameSite attributes), a malicious webpage can establish authenticated WebSocket connections to the nginx-ui instance when a logged-in administrator visits the attacker-controlled page. Version 2.3.5 patches the issue.
AnalysisAI
nginx-ui before version 2.3.5 allows Cross-Site WebSocket Hijacking (CSWSH) attacks due to improper WebSocket origin validation and insecurely configured authentication cookies. An attacker can trick a logged-in administrator into visiting a malicious webpage that establishes authenticated WebSocket connections to the target nginx-ui instance, enabling information disclosure and administrative actions without explicit user consent. Version 2.3.5 patches the issue; no public exploit code or active exploitation confirmed at time of analysis.
Technical ContextAI
nginx-ui implements WebSocket endpoints using the gorilla/websocket library's Upgrader mechanism with CheckOrigin unconditionally returning true, disabling the standard same-origin policy enforcement for WebSocket connections. Authentication tokens are stored in browser cookies set via JavaScript without the HttpOnly flag (which prevents JavaScript access) or explicit SameSite attributes (which restrict cross-site cookie transmission). This combination violates WebSocket security best practices: CSWSH attacks rely on Cross-Origin Resource Sharing (CORS) bypass combined with automatic cookie inclusion in cross-origin requests. CWE-1385 (Improper Origin Validation in WebSockets) directly describes this root cause - the application fails to validate the Origin header before upgrading HTTP connections to WebSocket, allowing any website to initiate authenticated WebSocket sessions on behalf of the user's browser.
RemediationAI
Upgrade nginx-ui to version 2.3.5 or later, which patches the CheckOrigin validation and corrects cookie configuration. If immediate upgrade is not possible, implement the following compensating controls: (1) Configure WebSocket endpoints to explicitly validate the Origin header against a whitelist of trusted domains, rejecting requests with mismatched origins - this prevents CSWSH but requires identifying all legitimate client origins; (2) Manually set authentication cookies with the HttpOnly flag to prevent JavaScript access and with SameSite=Strict (or Lax) to restrict cross-site transmission - depending on your JavaScript framework, this may require modifying the authentication handler and testing application functionality; (3) Use network-level protections such as IP allowlisting for nginx-ui administrative access to reduce exposure to cross-site attacks; (4) Implement Content-Security-Policy (CSP) headers to restrict JavaScript execution in the nginx-ui interface, limiting the window for attackers to inject malicious code. These mitigations partially reduce risk but do not fully address the root cause; patching to v2.3.5 is the primary remediation.
Unauthenticated backup download and RCE in Nginx UI before 2.3.3. EPSS 1.0%. PoC available.
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 8.9), this vulnerability is remotel
Unauthenticated attackers can hijack the administrator account during nginx-ui's first-run installation window by claimi
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 7.7), this vulnerability is remotel
nginx-ui prior to version 2.3.8 exposes sensitive configuration values including node.secret via an authenticated GET /a
Nginx-UI is a web interface to manage Nginx configurations. Rated critical severity (CVSS 9.8), this vulnerability is re
Remote code execution as root in nginx-ui versions before 2.3.8 via unauthenticated backup restore within 10-minute star
Nginx-UI is a web interface to manage Nginx configurations. Rated high severity (CVSS 8.8), this vulnerability is remote
Disabled user accounts in Nginx UI versions before 2.3.4 retain full API access through previously issued JWT tokens for
Server-Side Request Forgery in Nginx UI (0xJacky/nginx-ui) version 2.3.4 and earlier lets any authenticated user coerce
Unauthenticated bootstrap takeover in nginx-ui 2.3.5 allows remote attackers to hijack the initial installation process
nginx-ui versions prior to 2.3.8 expose 40+ protected configuration fields through the GetSettings API to authenticated
Same weakness CWE-1385 – Missing Origin Validation in WebSockets
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-23972
GHSA-78mf-482w-62qj