🇰🇷 한글 설명
FreeBSD의 crypt_des 함수가 0x80 바이트를 포함한 패스워드를 완전히 처리하지 않는 취약점입니다. 공격자는 의도한 패스워드의 초기 부분문자열만으로 인증을 우회할 수 있으며, PHP, PostgreSQL 등 여러 제품에 영향을 미칩니다.
💡 쉬운 설명
암호에 특정 바이트(0x80)가 포함될 때 시스템이 암호의 일부만 확인하는 문제입니다. 공격자가 전체 암호 대신 일부만 알아도 로그인할 수 있게 됩니다.
🇺🇸 원문 (English)
The crypt_des (aka DES-based crypt) function in FreeBSD before 9.0-RELEASE-p2, as used in PHP, PostgreSQL, and other products, does not process the complete cleartext password if this password contains a 0x80 character, which makes it easier for context-dependent attackers to obtain access via an authentication attempt with an initial substring of the intended password, as demonstrated by a Unicode password.
📍 영향받는 시스템
FreeBSD 9.0-RELEASE-p2 이전, crypt_des 함수를 사용하는 PHP, PostgreSQL, 기타 제품
⚔️ 공격 벡터
0x80 바이트를 포함한 Unicode 패스워드로 초기 부분문자열만 입력하여 인증 시도
🛡️ 대응 방법
FreeBSD 9.0-RELEASE-p2 이상 업그레이드, PHP/PostgreSQL 보안 패치 적용
🔧 검증 코드
PHP와 PostgreSQL 버전을 확인하여 패치 버전 이상인지 확인. 업스트림 보안 공지의 권장 버전 이상이면 안전.
php -v && postgres --version || dpkg -l | grep -E 'php|postgresql'