{"metadata": {"vulnerability": "CVE-2026-54162", "count": 12, "kinds": {"milestone": 4, "sighting": 1, "kev": 0, "other": 7}, "linked_omitted": 0}, "data": [{"timestamp": "2026-06-11T21:46:52.380Z", "date_only": false, "value": "2026-06-11T21:46:52.380Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-54162", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-08-20T18:36:01Z", "date_only": false, "value": "2026-08-20T18:36:01Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-X3G7-QRWC-F6C5", "record": "GHSA-X3G7-QRWC-F6C5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-08-20T18:36:01Z", "date_only": false, "value": "2026-08-20T18:36:01Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-X3G7-QRWC-F6C5", "record": "GHSA-X3G7-QRWC-F6C5", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-28T19:44:41.999Z", "date_only": false, "value": "2026-10-28T19:44:41.999Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-54162", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-28T19:44:41.999Z", "date_only": false, "value": "2026-10-28T19:44:41.999Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "CVE-2026-54162", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-28T19:50:04.963Z", "date_only": false, "value": "2026-10-28T19:50:04.963957Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117520269606434447", "record": "CVE-2026-54162", "field": "creation_timestamp", "uuid": "1e0baaed-f426-40b7-bb34-6ee09cfb8264", "content": "CVE-2026-54162 Ember: Unneutralised terminal escape/control sequences from Caddy logs injected into the operator's TUI 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.\nhttps://www.cve.org/CVERecord?id=CVE-2026-54162https://github.com/alexandre-daubois/ember/security/advisories/GHSA-x3g7-qrwc-f6c5https://github.com/alexandre-daubois/ember/commit/fcb7160e58dba58d6f9b5033cc312fdedc8c9f6bhttps://github.com/alexandre-daubois/ember/releases/tag/v1.4.2#alexandre-daubois #ember#CVE_2026_54162#bot", "url": "https://infosec.exchange/users/cve/statuses/117520269606434447"}, {"timestamp": "2026-10-28T20:18:00.743Z", "date_only": false, "value": "2026-10-28T20:18:00.743", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-54162", "record": "FKIE_CVE-2026-54162", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-29T18:31:30.695Z", "date_only": false, "value": "2026-10-29T18:31:30.695330Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-54162", "field": "containers.adp.0.metrics.0.other.content.timestamp"}, {"timestamp": "2026-10-29T18:31:30.695Z", "date_only": false, "value": "2026-10-29T18:31:30.695330Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-54162", "record": "FKIE_CVE-2026-54162", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-10-29T18:31:49.122Z", "date_only": false, "value": "2026-10-29T18:31:49.122Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-54162", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-29T18:31:49.122Z", "date_only": false, "value": "2026-10-29T18:31:49.122Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-54162", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-29T19:17:22.213Z", "date_only": false, "value": "2026-10-29T19:17:22.213", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-54162", "record": "FKIE_CVE-2026-54162", "field": "lastModified", "linked_record": true}], "metrics": {"as_of": "2026-11-11T11:27:31.567Z", "anchors": {"origin": {"timestamp": "2026-08-20T18:36:01Z", "date_only": false, "value": "2026-08-20T18:36:01Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-X3G7-QRWC-F6C5", "record": "GHSA-X3G7-QRWC-F6C5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-08-20T18:36:01Z", "date_only": false, "value": "2026-08-20T18:36:01Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-X3G7-QRWC-F6C5", "record": "GHSA-X3G7-QRWC-F6C5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 7145490.567975, "hours": 1984.8584911041664, "days": 82.70243712934027, "min_seconds": 7145490.567975, "max_seconds": 7145490.567975, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-08-20T18:36:01Z", "date_only": false, "value": "2026-08-20T18:36:01Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-X3G7-QRWC-F6C5", "record": "GHSA-X3G7-QRWC-F6C5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, "end": {"timestamp": "2026-11-11T11:27:31.567Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
