🇰🇷 한글 설명
Symfony Runtime 모듈의 register_argv_argc PHP 지시자 오류로, 특별히 조작된 쿼리 문자열을 통해 공격자가 커널의 환경 또는 디버그 모드를 변경할 수 있는 취약점입니다. 이를 악용하면 애플리케이션의 보안 상태를 우회하고 민감한 정보를 노출시킬 수 있습니다.
💡 쉬운 설명
PHP 설정 오류로 인해 악의적인 URL을 통해 웹 애플리케이션의 디버그 모드를 켜거나 환경을 변경할 수 있는 취약점입니다. 공격자가 이를 이용하면 애플리케이션의 내부 정보를 노출시킬 수 있습니다.
🇺🇸 원문 (English)
symfony/runtime is a module for the Symphony PHP framework which enables decoupling PHP applications from global state. When the `register_argv_argc` php directive is set to `on` , and users call any URL with a special crafted query string, they are able to change the environment or debug mode used by the kernel when handling the request. As of versions 5.4.46, 6.4.14, and 7.1.7 the `SymfonyRuntime` now ignores the `argv` values for non-SAPI PHP runtimes. All users are advised to upgrade. There are no known workarounds for this vulnerability.
📍 영향받는 시스템
symfony/runtime 5.4.46 이전, 6.4.14 이전, 7.1.7 이전 버전 (register_argv_argc=on 설정된 환경)
⚔️ 공격 벡터
특별히 조작된 query string을 포함한 HTTP 요청으로 커널의 환경/디버그 모드 변경 시도
🛡️ 대응 방법
Symfony Runtime을 5.4.46, 6.4.14, 7.1.7 이상으로 업그레이드하거나 PHP의 register_argv_argc를 off로 설정
🔧 검증 코드
register_argv_argc가 On이고 symfony/runtime 버전이 패치 버전 미만이면 취약점 노출 상태
php -r "echo 'register_argv_argc=' . (ini_get('register_argv_argc') ?: 'Off') . PHP_EOL;" && composer show symfony/runtime 2>/dev/null | head -1