{"cve":"CVE-2026-54162","nvd":{"published":"2026-10-28T20:18:00.743","modified":"2026-10-28T20:18:00.743","status":"Received","description":"Ember is a real-time terminal dashboard for Caddy servers with FrankenPHP support. Prior to 1.4.2, interactive TUI row formatters pass Caddy access-log fields, particularly the request URI, through the `fitCellLeft` render helper without neutralizing terminal escape or control sequences. An unauthenticated remote client can place ANSI, OSC, or CSI control bytes in an ordinary HTTP request target. Caddy JSON-escapes those bytes, `ParseLogLine` decodes them back into raw controls, and the formatters concatenate them into `View()` output reaching `os.Stdout`. When the operator views the default `Logs` tab, the terminal interprets these sequences, allowing monitoring-dashboard spoofing, clipboard hijacking through `OSC 52`, and window-title spoofing through `OSC 0/2`. This works even with a loopback-only log listener because the input arrives through normal Caddy access logs. `Certificates` and `Routes` share secondary unneutralized render sinks. The `--json`, `--once`, and daemon `--expose` modes are unaffected because they do not render an interactive terminal. Consequences depend on the terminal emulator and usually require further operator action to escalate; this is not general-purpose remote code execution. This issue is fixed in version 1.4.2.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N","score":4.7},"cwes":["CWE-150"],"references":["https://github.com/alexandre-daubois/ember/commit/fcb7160e58dba58d6f9b5033cc312fdedc8c9f6b","https://github.com/alexandre-daubois/ember/releases/tag/v1.4.2","https://github.com/alexandre-daubois/ember/security/advisories/GHSA-x3g7-qrwc-f6c5"],"products":[],"source":"nvd","synced_at":"2026-10-28T20:41:45.883959281+00:00"},"epss":null,"kev":null,"osv":[{"id":"GHSA-x3g7-qrwc-f6c5","url":"https://osv.dev/vulnerability/GHSA-x3g7-qrwc-f6c5","summary":"Ember has unneutralized terminal escape/control sequences from Caddy logs injected into the operator's TUI","modified":"2026-09-10T03:50:54.262435793Z","packages":[{"ecosystem":"Go","name":"github.com/alexandre-daubois/ember","purl":"pkg:golang/github.com/alexandre-daubois/ember","ranges":["<1.4.2"],"fixed":["1.4.2"]}]},{"id":"GO-2026-6270","url":"https://osv.dev/vulnerability/GO-2026-6270","summary":"Ember has unneutralized terminal escape/control sequences from Caddy logs injected into the operator's TUI in github.com/alexandre-daubois/ember","modified":"2026-08-26T01:21:30.732679297Z","packages":[{"ecosystem":"Go","name":"github.com/alexandre-daubois/ember","purl":"pkg:golang/github.com/alexandre-daubois/ember","ranges":["<1.4.2"],"fixed":["1.4.2"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}