🔍 CVE-2026-45560

6.1
CVSS Score
MEDIUM
2026-06-10
2026-06-17 10:52
✅ 완료

🇰🇷 한글 설명

Roxy-WI의 로그 뷰어 기능에서 사용자 입력을 적절히 이스케이프하지 않고 HTML로 직접 삽입하여 저장된 XSS 취약점이 존재합니다. 공격자가 HAProxy 또는 Nginx 접근 로그에 악성 스크립트를 주입하면, 관리자가 로그를 조회할 때 스크립트가 실행됩니다.

💡 쉬운 설명

웹 관리 도구의 로그 화면에서 악성 코드가 실행될 수 있는 보안 구멍이 있습니다. 공격자가 서버 로그에 해로운 스크립트를 넣으면, 관리자가 로그를 볼 때 그 코드가 작동하여 시스템이 위험해집니다.

🇺🇸 원문 (English)

Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, wrap_line (app/modules/common/common.py:181-186) and highlight_word (app/modules/common/common.py:188-192) build raw HTML by string concatenation with no escaping. The frontend (app/static/js/script.js, log-viewer paths) uses .html(data) / .append(data) to inject the response body. Anyone able to write a line into a managed HAProxy/Nginx access log (i.e. anyone who can send an HTTP request to the public LB) can land an <svg/onload=…> payload that executes when a Roxy-WI admin opens the log viewer. At time of publication, there are no publicly available patches.

📍 영향받는 시스템

Roxy-WI version <= 8.2.6.4

⚔️ 공격 벡터

공격자가 대상 서버의 접근 로그에 악성 스크립트를 기록한 후, Roxy-WI 관리자가 해당 로그를 조회하도록 유도

🛡️ 대응 방법

공급사에서 제공하는 패치가 출시될 때까지 대기하거나, 입력값에 대한 HTML 이스케이핑 처리를 적용한 자체 수정 버전을 사용

🔧 검증 코드

명령어 실행 시 escape 함수 호출 없이 문자열 연결만 수행하는 코드가 출력되면 취약한 버전으로 판단

Shell / Script
grep -r 'wrap_line\|highlight_word' /path/to/roxy-wi/app/modules/common/common.py | grep -v 'escape'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Apache HTTP Server