Authenticated (user role) arbitrary command execution by modifying `start_cmd` setting (GHSL-2023-268)
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 a web interface to manage Nginx configurations. It is vulnerable to arbitrary command execution by abusing the configuration settings. The `Home > Preference` page exposes a list of system settings such as `Run Mode`, `Jwt Secret`, `Node Secret` and `Terminal Start Command`. While the UI doesn't allow users to modify the `Terminal Start Command` setting, 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 vulnerability 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-8r25-68wm-jw35 |
- 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-8r25-68wm-jw35
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-8r25-68wm-jw35 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-22198
- 2026-10-03 Alias added: GHSA-8r25-68wm-jw35
References
Other 7
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/api/system/settings.go#L18
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/api/terminal/pty.go#L11
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/internal/pty/pipeline.go#L29
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/router/middleware.go#L45
- https://github.com/0xJacky/nginx-ui/blob/04bf8ec487f06ab17a9fb7f34a28766e5f53885e/settings/server.go#L12
- https://github.com/0xJacky/nginx-ui
- https://pkg.go.dev/vuln/GO-2024-2462
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-22198 · CVE Program
- CVE-2024-22198 · NVD
- FIRST EPSS
- GHSA-8r25-68wm-jw35 · 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