대표적인 로그 모니터링 및 관리 솔루션인 Nagios Log Server의 최신 버전(당시 기준 2.1.6)을 보안 테스트한 결과, 해당 제품이 저장형 XSS(Stored Cross-Site Scripting) 공격에 취약한 것으로 확인되었습니다.
CVE ID: CVE-2020-16157
개요
Nagios Log Server는 조직이 로그를 한곳에서 통합적으로 조회, 분류, 구성할 수 있도록 지원하는 중앙 집중식 로그 관리·모니터링·분석 소프트웨어입니다. 테스트 결과, 버전 2.1.6에서 저장형 XSS 취약점이 존재하는 것으로 밝혀졌습니다.
저장형 XSS 공격은 공격자가 악성 스크립트(페이로드)를 대상 애플리케이션에 영구적으로 저장되도록 주입하는 공격 방식입니다. 일반적으로 데이터베이스에 저장된 값이 다른 사용자에게 그대로 노출될 때 발생하며, 대표적인 예로 블로그 댓글란이나 게시판 글에 삽입된 악성 스크립트를 들 수 있습니다.
영향
이번 취약점은 심각도가 높은(high severity) 취약점으로, 인증된 일반 사용자 권한을 가진 공격자가 이를 악용해 다음과 같은 피해를 유발할 수 있습니다.
- 쿠키 탈취를 통한 세션 하이재킹
- 피해자를 임의의 악성 사이트로 리디렉션
- 관리자 권한으로 각종 작업을 몰래 수행하는 등 피해자 명의의 임의 동작 실행
- 키스트로크(키 입력) 로깅 등 추가 공격
특히 저장형 XSS는 공격자가 외부에서 피해자에게 특정 요청을 유도할 필요가 없다는 점에서 위험합니다. 공격자는 악성 코드를 애플리케이션 내부에 미리 심어두고, 피해자가 해당 페이지에 접근하기만을 기다리면 됩니다.
취약점 상세
/profile 페이지 또는 /admin/users/create 페이지의 Full Name(전체 이름), Username(사용자 이름) 필드에 저장형 XSS 취약점이 존재합니다.
공격 과정은 다음과 같습니다. 먼저 위 필드 중 하나에 악성 페이로드를 저장한 후, Alerting 페이지(/alerts)로 이동해 새 알림을 생성하고 알림 방식(Notification Method)으로 Email Users를 선택합니다. 이때 사용자 목록이 화면에 표시되면서 저장된 페이로드가 실행되는 것을 확인할 수 있습니다.
타임라인
- 2020년 7월 8일: Nagios 개발팀에 취약점 보고
- 2020년 7월 28일: 해당 취약점 수정 사항이 포함된 Nagios Log Server 2.1.7 릴리스
권고 사항
본 취약점의 악용을 방지하기 위해 Nagios Log Server 사용자는 반드시 최신 버전(2.1.7 이상)으로 즉시 업데이트하는 것이 좋습니다. 또한 사용자 입력값에 대한 출력 시 인코딩 처리와 함께, 관리자 계정 및 일반 계정의 비밀번호 교체와 세션 무효화도 함께 점검할 것을 권장합니다.