CVE-2026-54162
MediumCVSS 4.7Exploitation Probability (EPSS)
Low risk16th percentile - higher than 16% of all known CVEs
Summary
In Ember before 1.4.2, interactive TUI row formatters pass Caddy access-log fields, especially the request URI, through fitCellLeft without neutralizing terminal escape or control sequences. An unauthenticated client can place ANSI, OSC, or CSI bytes in an HTTP request that, after decoding, reach os.Stdout and are interpreted by the operator's terminal.
Risk Assessment
Monitoring-dashboard spoofing, clipboard hijacking via OSC 52, and window-title spoofing are possible; consequences depend on the terminal emulator and usually require further operator action.
Recommendation
Update Ember to version 1.4.2 or later. Until then, avoid viewing the Logs tab in untrusted environments or use --json/--once modes.
Related vulnerabilities
- CVE-2022-29966Critical
Emerson Ovation has several protocols that have no authentication, which could allow an attacker to change controller configuration or cause a denial-of-service condition.
- CVE-2026-22058Critical
StorageGRID versions 11.3 and higher allow an attacker with product-specific knowledge and the ability to communicate with the Grid Network on certain ports to make unauthorized requests.
- CVE-2026-120931Critical
Out of bounds write in WebGL in Google Chrome on Android prior to 156.0.8078.47 allowed a remote attacker to execute arbitrary code outside the sandbox via a crafted HTML page.
- CVE-2026-112354Critical
Etrel INCH AC charging station management web interface prior to firmware versions 7.1.2 and 8.0.1 contains a hard-coded default credentials vulnerability that allows remote attackers to gain full Administrator access by authenticating with the factory-default account. Attackers can log in over cleartext HTTP to obtain complete charger configuration, OCPP ChargePoint Identity, and CSMS WebSocket connection details, enabling unauthorized administrative control of the charging station.
- CVE-2026-95860Critical
In node-opcua (an OPC UA implementation for TypeScript and Node.js), versions 2.42.0 through 2.180.0 do not honor namespace-level access control configured via setDefaultRolePermissions for nodes without explicit per-node permissions. SessionContext.getApplicableRolePermissions reads a missing or null value instead of the configured namespace field, and the null result is treated permissively. As a result, an anonymous network client can write variables or call bound methods when an operator relied on restrictive namespace defaults.
- CVE-2026-82158Critical
Dell Wyse Management Suite versions prior to 2609.0.0.155 contain a cross-site scripting vulnerability (improper neutralization of input during web page generation). A low-privileged attacker with remote access could exploit it to inject script.
- CVE-2026-121249Critical
Buffer overflow in ANGLE in Google Chrome prior to 157.0.8103.38 allowed a remote attacker to execute arbitrary code outside the sandbox via a crafted HTML page.
- CVE-2026-121247Critical
Buffer overflow in Dawn in Google Chrome on Android prior to 157.0.8103.38 allowed a remote attacker to potentially execute arbitrary code outside the sandbox via a crafted HTML page.
- CVE-2026-121246Critical
Use-after-free vulnerability in the WebGL component of Google Chrome on Android prior to 157.0.8103.38. A remote attacker could potentially execute arbitrary code outside the sandbox via a crafted HTML page.
- CVE-2026-121241Critical
Use-after-free vulnerability in the Navigation component of Google Chrome on Android prior to 157.0.8103.38. A remote attacker could potentially execute arbitrary code outside the sandbox via a crafted HTML page.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

