🇰🇷 한글 설명
Symfony PHP 프레임워크의 UrlSanitizer::parse() 함수에서 퍼센트 인코딩된 BiDi(양방향) 제어 문자를 제대로 차단하지 못하는 취약점이 발견되었습니다. 이로 인해 ASCII 전용 공백 검사만 수행되어, 정제된 URL에 시각적 스푸핑을 유발하는 문자가 포함될 수 있습니다. 해당 문제는 6.4.41, 7.4.13, 8.0.13 버전에서 수정되었습니다.
💡 쉬운 설명
웹사이트 주소를 깨끗하게 만드는 과정에서 특수 문자를 완벽히 걸러내지 못하는 문제입니다. 공격자가 주소를 교묘하게 조작하여 사용자가 가짜 사이트로 착각하게 만들 수 있습니다.
🇺🇸 원문 (English)
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. From 6.1.0 until 6.4.41, 7.4.13, and 8.0.13, UrlSanitizer::parse() rejected raw BiDi formatting characters but not percent-encoded forms and used an ASCII-only whitespace check, allowing sanitized URLs to retain visual-spoofing characters that downstream consumers could decode or display. This issue is fixed in versions 6.4.41, 7.4.13, and 8.0.13.
📍 영향받는 시스템
Symfony 6.1.0 ~ 6.4.40, 7.4.0 ~ 7.4.12, 8.0.0 ~ 8.0.12
⚔️ 공격 벡터
퍼센트 인코딩된 BiDi 제어 문자를 포함한 URL을 입력하여 시각적 스푸핑 유도
🛡️ 대응 방법
Symfony 프레임워크를 최신 보안 패치 버전(6.4.41, 7.4.13, 8.0.13 이상)으로 업데이트
🔧 검증 코드
출력된 버전 정보가 취약한 버전 범위에 포함되는지 확인
composer show symfony/symfony | grep 'versions'