🇰🇷 한글 설명
PHP 5.2.6의 rand()와 mt_rand() 함수가 암호화학적으로 안전하지 않은 난수를 생성하여, 비밀번호 재설정 토큰 등 보안 기능이 공격자에게 악용될 수 있다. Joomla 1.5.x와 WordPress 2.6.2 이전 버전이 특히 영향을 받는다.
💡 쉬운 설명
PHP의 난수 생성 함수가 예측 가능해서, 공격자가 비밀번호 재설정 토큰을 추측하고 타인의 계정을 탈취할 수 있다. 이 함수를 사용하는 모든 보안 기능이 위험에 노출된다.
🇺🇸 원문 (English)
The (1) rand and (2) mt_rand functions in PHP 5.2.6 do not produce cryptographically strong random numbers, which allows attackers to leverage exposures in products that rely on these functions for security-relevant functionality, as demonstrated by the password-reset functionality in Joomla! 1.5.x and WordPress before 2.6.2, a different vulnerability than CVE-2008-2107, CVE-2008-2108, and CVE-2008-4102.
📍 영향받는 시스템
PHP 5.2.6, WordPress 2.6.2 이전, Joomla 1.5.x
⚔️ 공격 벡터
예측 가능한 난수를 이용해 비밀번호 재설정 토큰, 인증 토큰, 보안 토큰을 추측하여 권한 없이 계정 접근
🛡️ 대응 방법
PHP를 5.2.7 이상으로 업그레이드하고, WordPress/Joomla를 최신 버전으로 패치. 보안 함수는 random_bytes() 또는 openssl_random_pseudo_bytes() 사용
🔧 검증 코드
PHP 5.2.6이고 WordPress 2.6.2 이전 또는 Joomla 1.5.x 이전이면 취약함. 버전 업그레이드 필요
php -v | head -1 && find /var/www -name 'version.php' -path '*/wp-includes/*' -o -path '*/includes/*' 2>/dev/null | xargs grep -h 'wp_version\|JVERSION' 2>/dev/null | head -1