
CMSimple_XH의 사이트 간 스크립팅(XSS) 취약점
개요
CMSimple_XH 버전 1.7.6에서 크로스 사이트 스크립팅(XSS) 취약점이 발견되었습니다. 이 취약점으로 인해 인증된 사용자가 악성 JavaScript 코드가 포함된 SVG 파일을 업로드할 수 있습니다. 문제는 애플리케이션의 파일 업로드 기능 내에서 업로드된 SVG 파일에 대한 부적절한 검증 및 정화(sanitization)에서 비롯됩니다.
취약점 세부 정보
설명
이 취약점은 애플리케이션이 사용자가 업로드한 SVG 파일을 적절히 검증하고 정화하지 못하기 때문에 발생합니다. 공격자는 악성 JavaScript 코드가 포함된 특수하게 조작된 SVG 파일을 업로드하여 이 결함을 악용할 수 있습니다. 업로드된 SVG 파일에 다른 사용자가 접근하면, 주입된 JavaScript 코드가 CMSimple_XH 애플리케이션의 컨텍스트 내에서 해당 사용자의 브라우저에서 실행됩니다. 이는 다양한 XSS 공격으로 이어질 수 있습니다.
영향
이 취약점을 성공적으로 악용하면 공격자가 다음을 수행할 수 있습니다:
개념 증명
문서의 쿠키를 포함한 경고를 트리거하는 악성 SVG 코드 예시:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert(document.cookie);
</script>
</svg>
재현 단계
스크린샷

감사의 말: 이 취약점은 Suraj Theekshana에 의해 발견 및 보고되었습니다.