🇰🇷 한글 설명
savg-sanitizer PHP 라이브러리의 cleanXlinkHrefs 메서드가 소문자 속성명만 검색하는 결함으로 인해 대문자 속성명(예: XLINK:HREF)을 통해 isHrefSafeValue 검증을 우회 가능합니다. 이는 XSS 공격 및 외부 도메인으로의 악성 링킹을 허용하며 버전 0.22.0에서 수정되었습니다.
💡 쉬운 설명
PHP의 SVG 정제 도구가 대문자 속성명을 제대로 검사하지 못해 악성 링크를 몰래 삽입할 수 있습니다. 이로 인해 사용자 브라우저에서 악의적인 코드가 실행되거나 위험한 외부 사이트로 리다이렉트될 수 있습니다.
🇺🇸 원문 (English)
savg-sanitizer is a PHP SVG/XML sanitizer. Prior to version 0.22.0, the sanitization logic in the cleanXlinkHrefs method only searches for lower-case attribute name, which allows to by-pass the isHrefSafeValue check. As a result this allows cross-site scripting or linking to external domains. This issue has been patched in version 0.22.0.
📍 영향받는 시스템
savg-sanitizer 버전 0.22.0 미만
⚔️ 공격 벡터
SVG/XML 파일의 xlink:href 속성을 대문자(XLINK:HREF 등)로 작성하여 필터링 우회 후 XSS 페이로드 또는 악성 외부 링크 삽입
🛡️ 대응 방법
savg-sanitizer를 버전 0.22.0 이상으로 즉시 업그레이드
🔧 검증 코드
version이 0.22.0 이상이면 패치됨, 미만이면 취약함
composer show savg-sanitizer 2>/dev/null | grep -E 'version'