
Sensaphone WEB600에서 여러 저장형 XSS 취약점 공개 (CVE-2024-55040)
2024년 9월 중순, 필자는 Sensaphone Web600 모니터링 시스템에서 여러 중간 및 낮은 심각도의 보안 문제를 식별했으며, 여기에는 시스템 설정(Setup), 프로필(Profile) 및 영역(Zone) 옵션의 저장형 크로스 사이트 스크립팅(XSS) 취약점이 포함됩니다. 원격 인증된 공격자는 이 결함을 악용하여 Web600 대시보드의 다양한 요소에 임의의 JavaScript 페이로드를 주입할 수 있습니다. 이 문제들의 심각도는 제한적이지만, 권한이 낮은 사용자가 관리자 계정의 세션 토큰을 탈취하고 시스템 접근 권한을 높이며 무단 수정을 할 수 있도록 허용합니다. 취약점은 Sensaphone Web600 펌웨어 버전 v.1.6.5.H에서 테스트되었습니다. 10월에 Sensaphone은 취약점을 인지하고 있음을 확인했습니다. 패치가 발행될 것인지에 대한 요청에는 응답하지 않았으며, 해당 제품은 개인 네트워크에서 실행하는 것이 권장되어 악용 위험을 줄인다고 지적했습니다.
공개 타임라인
Web600 모니터링 시스템은 장치 설정 옵션을 통해 여러 저장형 XSS 취약점에 취약합니다. 구체적으로, 원격 인증된 공격자는 /@.xml에 대한 조작된 GET 요청을 통해 이름, 설명 및 위치 필드에 임의의 JavaScript 페이로드를 주입할 수 있습니다. 공격자는 페이로드를 각각 이름, 설명 및 위치를 나타내는 g7200, g7300, g7300 매개변수에 배치하여 취약점을 악용할 수 있습니다. 페이로드는 요약(Summary), 설정(Setup), 영역(Zones), 출력(Outputs), 프로필(Profiles) 및 기록(History) 섹션과 같은 Web600 서버의 각 섹션에서 실행됩니다. 아래 개념 증명은 URL 인코딩된 페이로드 ``를 사용합니다.

Web600 모니터링 시스템은 장치 프로필 옵션을 통해 저장형 XSS 취약점에 취약합니다. 구체적으로, 원격 인증된 공격자는 /@.xml에 대한 조작된 GET 요청을 통해 사용자 프로필 이름을 나타내는 g4601 매개변수에 임의의 JavaScript 페이로드를 주입할 수 있습니다. 페이로드는 프로필(Profile) 페이지에서 실행됩니다. 아래 개념 증명은 URL 인코딩된 페이로드 ``를 사용합니다.

Web600 모니터링 시스템은 영역(Zone) 옵션을 통해 저장형 XSS 취약점에 취약합니다. 구체적으로, 원격 인증된 공격자는 /@.xml에 대한 조작된 GET 요청을 통해 영역 이름을 나타내는 g1F02 매개변수에 페이로드를 배치하여 임의의 JavaScript 페이로드를 주입할 수 있습니다. 페이로드는 기본 요약 페이지와 영역 설정 페이지에서 실행됩니다. 아래 POC는 URL 인코딩된 페이로드 ``를 사용합니다.
