🇰🇷 한글 설명
Symfony의 SecureRandom 클래스 nextBytes 함수가 PHP 5.x에서 openssl_random_pseudo_bytes 실패 시 난수를 제대로 생성하지 못합니다. 이로 인해 암호화 보호 메커니즘을 우회할 수 있습니다.
💡 쉬운 설명
Symfony 웹프레임워크의 난수 생성 기능이 특정 환경에서 제대로 작동하지 않습니다. 공격자가 암호화를 쉽게 뚫 수 있게 됩니다.
🇺🇸 원문 (English)
The nextBytes function in the SecureRandom class in Symfony before 2.3.37, 2.6.x before 2.6.13, and 2.7.x before 2.7.9 does not properly generate random numbers when used with PHP 5.x without the paragonie/random_compat library and the openssl_random_pseudo_bytes function fails, which makes it easier for attackers to defeat cryptographic protection mechanisms via unspecified vectors.
📍 영향받는 시스템
Symfony 2.3.x (2.3.37 미만), 2.6.x (2.6.13 미만), 2.7.x (2.7.9 미만) - PHP 5.x 환경
⚔️ 공격 벡터
약한 난수 생성을 악용하여 세션 토큰 위조, 암호화 키 예측, CSRF 토큰 우회 가능
🛡️ 대응 방법
Symfony를 2.3.37, 2.6.13, 2.7.9 이상으로 업그레이드하거나 paragonie/random_compat 라이브러리 설치
🔧 검증 코드
설치된 Symfony 버전이 표시됩니다. 해당 메이저 버전의 최소 필수 버전보다 낮으면 취약합니다.
grep -A 1 '"symfony' composer.lock 2>/dev/null | grep '"version' | head -1