🇰🇷 한글 설명
PHP의 mcrypt_create_iv 함수가 초기화되지 않은 seed 변수를 사용하여 항상 동일한 초기화 벡터(IV)를 생성합니다. 이로 인해 암호화 키가 추측 가능해져 암호화된 데이터 복호화가 용이해질 수 있습니다.
💡 쉬운 설명
PHP의 보안 함수가 버그로 인해 항상 같은 암호화 키를 만듭니다. 공격자는 이 고정된 패턴을 이용해 암호화된 데이터를 쉽게 풀 수 있습니다.
🇺🇸 원문 (English)
The mcrypt_create_iv function in ext/mcrypt/mcrypt.c in PHP before 4.4.7, 5.2.1, and possibly 5.0.x and other PHP 5 versions, calls php_rand_r with an uninitialized seed variable and therefore always generates the same initialization vector (IV), which might allow context-dependent attackers to decrypt certain data more easily because of the guessable encryption keys.
📍 영향받는 시스템
PHP 4.4.7 이전, 5.2.1 이전, 5.0.x 및 기타 PHP 5.x 버전
⚔️ 공격 벡터
mcrypt_create_iv를 사용하는 애플리케이션의 암호화된 데이터 대상 복호화 공격
🛡️ 대응 방법
PHP를 4.4.7, 5.2.1 이상 버전으로 업그레이드
🔧 검증 코드
PHP 버전이 4.4.7 미만 또는 5.2.1 미만이면 취약점이 있으며, 즉시 업그레이드 필요
php -v 2>/dev/null | grep -oP 'PHP \K[0-9.]+'