
LibreNMS 라우팅 모듈의 반사형 XSS 취약점(CVE-2025-66850)에 대한 개념 증명 및 기술 분석으로, 버전 22.9.0부터 24.9.1까지 영향을 받습니다.
'LibreNMS' 애플리케이션에서 반사형 크로스 사이트 스크립팅(Reflected XSS) 취약점을 발견했습니다. 이 취약점은 라우팅 모듈의 protocol 매개변수에 존재하며, 공격자가 피해자의 브라우저에서 악성 JavaScript를 실행할 수 있게 합니다. 이 취약점은 22.9.0(2022년 9월)부터 24.9.1(2024년 9월)까지 모든 버전에 영향을 미칩니다. 이 취약점은 이후 CVE나 공개 공지 없이 24.10.0(2024년 11월)에서 조용히 패치되었습니다. 문서화되지 않은 수정으로 인해 많은 조직이 자사의 노출을 인지하지 못하고 필요한 업데이트를 아직 적용하지 않았을 수 있습니다. 아래 그림에서 이 취약점을 테스트하는 데 사용된 현재 설정을 확인할 수 있습니다.

반사형 XSS 취약점으로 인해 원격 공격자는 특수하게 조작된 URL을 통해 인증된 LibreNMS 사용자의 브라우저에서 임의의 JavaScript 코드를 주입할 수 있습니다. 잠재적으로 세션 쿠키를 탈취하거나, 관리자 백도어를 생성하거나, 사용자를 공격자가 제어하는 도메인으로 리디렉션할 수 있습니다. XSS의 증거는 아래 이미지에서 확인할 수 있습니다.

이 보안 결함은 '/routing' 엔드포인트의 'protocol' 매개변수에 대한 입력 검증 부족으로 인해 발생합니다. 애플리케이션은 'basename()' 속성을 통해 기본적인 살균 처리를 적용하여 디렉터리 트래버설을 방지하지만, 페이지에 입력을 반사하기 전에 HTML 엔터티 인코딩을 수행하지 않습니다. 이로 인해 공격자는 기본 보안 제어를 우회하고 악성 코드를 주입할 수 있습니다.
제품: LibreNMS
영향을 받는 버전: <= 24.9.1
수정된 버전: 24.10.0 (2024년 11월 5일)
취약점 유형: CWE-79 (Improper Neutralization of Input During Web Page Generation)
모듈: Routing
엔드포인트: /routing
매개변수: protocol
파일: includes/html/pages/routing.inc.php
LibreNMS 24.9.1을 설정합니다.
'/routing/protocol=' 엔드포인트로 이동합니다.
아래 PoC 섹션의 페이로드를 주입합니다.
http://[librenms-instance]/routing/protocol=<script>alert(‘SecQuest XSS’)<!-->
발견자: Joel Olivier, Leo Cook
소속 기관: SecQuest
발견 날짜: 2025년 11월 18일