🇰🇷 한글 설명
PHP 8.0.X(8.0.28 미만), 8.1.X(8.1.16 미만), 8.2.X(8.2.3 미만) 버전의 password_verify() 함수에서 잘못된 Blowfish 해시를 유효한 것으로 잘못 인식할 수 있는 취약점입니다. 만약 데이터베이스에 잘못된 해시가 저장될 경우, 어떤 비밀번호를 입력하더라도 인증을 통과할 수 있는 위험이 있습니다.
💡 쉬운 설명
비밀번호가 맞는지 확인하는 기능에 오류가 있어, 잘못된 비밀번호 데이터가 저장되어 있다면 아무 글자나 입력해도 로그인이 될 수 있는 문제입니다. 해커가 비밀번호를 몰라도 계정에 접속할 수 있게 됩니다.
🇺🇸 원문 (English)
In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, password_verify() function may accept some invalid Blowfish hashes as valid. If such invalid hash ever ends up in the password database, it may lead to an application allowing any password for this entry as valid.
📍 영향받는 시스템
PHP 8.0.x < 8.0.28, 8.1.x < 8.1.16, 8.2.x < 8.2.3
⚔️ 공격 벡터
데이터베이스에 조작되거나 손상된 Blowfish 해시가 저장되어 있을 경우, 인증 과정을 우회하여 접근 가능
🛡️ 대응 방법
PHP를 최신 보안 패치 버전(8.0.28, 8.1.16, 8.2.3 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 PHP 버전이 취약점이 해결된 버전(8.0.28, 8.1.16, 8.2.3 이상)보다 낮은지 확인하십시오.
php -v | grep -E 'PHP (8.0\[0-9\.]*|8.1\[0-9\.]*|8.2\[0-9\.]*)' | awk '{print $2}'