🇰🇷 한글 설명
Symfony 프레임워크의 HtmlSanitizer에서 URL 정제 시 허용되지 않은 URL이 통과될 수 있는 취약점이 발견되었습니다. 이는 RFC 3986과 WHATWG URL 파싱 방식의 차이 및 <area href> 태그의 정책 검사 오류로 인해 발생합니다.
💡 쉬운 설명
웹사이트에서 허용된 주소만 보여줘야 하는데, 공격자가 교묘하게 조작한 주소를 입력하면 차단 시스템을 피해 악성 사이트로 연결될 수 있습니다. 브라우저와 보안 프로그램이 주소를 해석하는 방식이 서로 다르기 때문에 발생하는 문제입니다.
🇺🇸 원문 (English)
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. From 6.1.0-BETA1 until 6.4.40, 7.4.12, and 8.0.12, HtmlSanitizer URL sanitization can allow off-allowlist URLs through allowLinkHosts() or allowMediaHosts() because UrlSanitizer::parse() follows RFC 3986 while browsers follow WHATWG URL parsing, and because <area href> is checked against the media policy rather than the link policy. This issue is fixed in versions 6.4.40, 7.4.12, and 8.0.12.
📍 영향받는 시스템
Symfony 6.1.0-BETA1 ~ 6.4.39, 7.4.11 이하, 8.0.11 이하
⚔️ 공격 벡터
HtmlSanitizer를 사용하는 애플리케이션에 특수하게 조작된 URL을 포함한 HTML 태그를 입력하여 허용되지 않은 호스트로 리다이렉션 유도
🛡️ 대응 방법
Symfony를 최신 보안 패치 버전(6.4.40, 7.4.12, 8.0.12 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 취약 버전 범위(6.4.40 미만, 7.4.12 미만, 8.0.12 미만)에 해당하는지 확인합니다.
composer show symfony/framework-bundle | grep 'versions'