Authenticated (user role) remote command execution by modifying `nginx` settings (GHSL-2023-269)
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-77.
Summary
Nginx-ui is online statistics for Server Indicators Monitor CPU usage, memory usage, load average, and disk usage in real-time. The `Home > Preference` page exposes a small list of nginx settings such as `Nginx Access Log Path` and `Nginx Error Log Path`. However, the API also exposes `test_config_cmd`, `reload_cmd` and `restart_cmd`. While the UI doesn't allow users to modify any of these settings, it is possible to do so by sending a request to the API. This issue may lead to authenticated Remote Code Execution, Privilege Escalation, and Information Disclosure. This issue has been patched in version 2.0.0.beta.9.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
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.0.0.beta.9 | 2.0.0.beta.9 | Patch available | CNA |
| — | github.com/0xJacky/Nginx-UI (Go) | before 1.9.10-0.20231219184941-827e76c46e63 | 1.9.10-0.20231219184941-827e76c46e63 | Patch available | GHSA-pxmr-q2x3-9x9m |
- nginx-ui Vendor0xJacky Affected before 2.0.0.beta.9 Fixed in 2.0.0.beta.9 Patch available CNA
- github.com/0xJacky/Nginx-UI (Go) Vendor— Affected before 1.9.10-0.20231219184941-827e76c46e63 Fixed in 1.9.10-0.20231219184941-827e76c46e63 Patch available GHSA-pxmr-q2x3-9x9m
CPE configurations NVD · 14
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:* | before 2.0.0 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta1:*:*:*:*:*:* | 2.0.0 beta1 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta2:*:*:*:*:*:* | 2.0.0 beta2 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta3:*:*:*:*:*:* | 2.0.0 beta3 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta4:*:*:*:*:*:* | 2.0.0 beta4 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta4_patch:*:*:*:*:*:* | 2.0.0 beta4_patch | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta5:*:*:*:*:*:* | 2.0.0 beta5 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta5_patch:*:*:*:*:*:* | 2.0.0 beta5_patch | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6:*:*:*:*:*:* | 2.0.0 beta6 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6_patch:*:*:*:*:*:* | 2.0.0 beta6_patch | Vulnerable | 0xJacky |
- cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:* Versions before 2.0.0 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta1:*:*:*:*:*:* Versions 2.0.0 beta1 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta2:*:*:*:*:*:* Versions 2.0.0 beta2 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta3:*:*:*:*:*:* Versions 2.0.0 beta3 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta4:*:*:*:*:*:* Versions 2.0.0 beta4 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta4_patch:*:*:*:*:*:* Versions 2.0.0 beta4_patch Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta5:*:*:*:*:*:* Versions 2.0.0 beta5 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta5_patch:*:*:*:*:*:* Versions 2.0.0 beta5_patch Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6:*:*:*:*:*:* Versions 2.0.0 beta6 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6_patch:*:*:*:*:*:* Versions 2.0.0 beta6_patch Vulnerable ·0xJacky
Show 4 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6_patch2:*:*:*:*:*:* | 2.0.0 beta6_patch2 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta7:*:*:*:*:*:* | 2.0.0 beta7 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta8:*:*:*:*:*:* | 2.0.0 beta8 | Vulnerable | 0xJacky |
| cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta8_patch:*:*:*:*:*:* | 2.0.0 beta8_patch | Vulnerable | 0xJacky |
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta6_patch2:*:*:*:*:*:* Versions 2.0.0 beta6_patch2 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta7:*:*:*:*:*:* Versions 2.0.0 beta7 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta8:*:*:*:*:*:* Versions 2.0.0 beta8 Vulnerable ·0xJacky
- cpe:2.3:a:nginxui:nginx_ui:2.0.0:beta8_patch:*:*:*:*:*:* Versions 2.0.0 beta8_patch Vulnerable ·0xJacky
Remediation
- Fix · CNA nginx-ui (0xJacky) Fixed in 2.0.0.beta.9
- Fix · GHSA-pxmr-q2x3-9x9m github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20231219184941-827e76c46e63 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2024-22197
- 2026-10-03 Alias added: GHSA-pxmr-q2x3-9x9m
References
Other 5
- https://github.com/0xJacky/nginx-ui
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/api/system/router.go#L13
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/api/system/settings.go#L18
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/router/middleware.go#L45
- https://pkg.go.dev/vuln/GO-2024-2464
More 0xJacky Nginx Ui 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-2024-22197 · CVE Program
- CVE-2024-22197 · NVD
- FIRST EPSS
- GHSA-pxmr-q2x3-9x9m · 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