🔍 CVE-2026-54162

4.7
CVSS Score
MEDIUM
2026-10-28
2026-10-29 19:17
✅ 완료

🇰🇷 한글 설명

Ember는 FrankenPHP를 지원하는 Caddy 서버용 실시간 터미널 대시보드입니다. 1.4.2 이전 버전에서는 TUI 행 포매터가 Caddy 접근 로그의 요청 URI 등 필드를 터미널 이스케이프/제어 시퀀스 무력화 없이 렌더링하여, 원격 비인증 클라이언트가 HTTP 요청 경로에 ANSI/OSC/CSI 제어 바이트를 삽입해 운영자 터미널에서 해석되도록 할 수 있습니다. 이는 모니터링 화면 위조, OSC 52를 통한 클립보드 탈취, 창 제목 위조로 이어질 수 있습니다.

💡 쉬운 설명

외부에서 보낸 특수한 웹 요청이 모니터링 화면에 그대로 표시되면서, 관리자의 터미널이 이를 명령으로 해석할 수 있습니다. 화면이 조작되거나 클립보드 내용이 빼앗길 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Ember 1.4.2 미만 버전 (Caddy 서버 모니터링용 Ember TUI 대시보드)

⚔️ 공격 벡터

원격 공격자가 HTTP 요청 URI에 ANSI/OSC/CSI 제어 문자를 포함시키면, 로그를 통해 Ember의 Logs 탭에 출력되어 운영자 터미널에서 해석됨

🛡️ 대응 방법

Ember를 1.4.2 이상 버전으로 업그레이드

🔧 검증 코드

출력된 버전이 1.4.2 미만이면 취약하며, 1.4.2 이상이면 패치가 적용된 것입니다.

Shell / Script
ember --version 2>/dev/null || ember version 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N

💻 영향받는 소프트웨어

Log Server