🇰🇷 한글 설명
Symfony PHP 프레임워크에서 parse_str()과 웹 SAPI 간의 불일치를 이용한 취약점이 발견되었습니다. 공격자가 조작된 쿼리 문자열을 통해 $_GET을 비우면서도 $_SERVER['argv']에 공격자가 제어하는 플래그를 주입하여 APP_ENV 또는 APP_DEBUG 설정을 변경할 수 있습니다.
💡 쉬운 설명
웹사이트의 설정값을 몰래 바꾸는 공격입니다. 공격자가 특수한 주소를 입력하면 서버가 보안 설정을 해제하거나 개발자 모드로 작동하게 만들어 시스템을 위험에 빠뜨릴 수 있습니다.
🇺🇸 원문 (English)
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. From 5.4.46 until 5.4.52, 6.4.40, 7.4.12, and 8.0.12, the CVE-2024-50340 fix gated runtime argv parsing on empty($_GET), but parse_str() and the web SAPI can disagree, allowing a crafted query string to leave $_GET empty while $_SERVER['argv'] still carries attacker-controlled --env or --no-debug flags that change APP_ENV or APP_DEBUG. This issue is fixed in versions 5.4.52, 6.4.40, 7.4.12, and 8.0.12.
📍 영향받는 시스템
Symfony 5.4.46~5.4.52, 6.4.40 미만, 7.4.12 미만, 8.0.12 미만 버전
⚔️ 공격 벡터
조작된 쿼리 문자열을 전송하여 $_GET과 $_SERVER['argv'] 간의 파싱 불일치를 유도하는 방식
🛡️ 대응 방법
Symfony를 최신 보안 패치 버전(5.4.52, 6.4.40, 7.4.12, 8.0.12 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 취약점이 해결된 버전(5.4.52, 6.4.40, 7.4.12, 8.0.12 이상)인지 확인하십시오.
composer show symfony/framework-bundle | grep 'versions'