English
◀◁ 뒤로
취약점ID 22530
위험도 40
포트 80, ...
프로토콜 TCP
분류 CGI
상세설명 해당 웹 서버는 5.3.8 보다 더 오래된 PHP의 버전을 가동 중이다. PHP는 웹 개발에 적합하고 HTML에 임베디드(embedded) 될 수 있는 널리 사용 중인 범용 스크립팅 언어이다. PHP의 5.3.8 이전의 버전들은 crypt() 함수에서 salted MD5 해쉬를 생성할 때 버그가 존재한다. 해당 함수는 salt 와 hash를 리턴해야 하는 경우에 salt만 리턴한다.
crypt() 함수를 사용하는 모든 인증 메커니즘에서 이 버그로 인하여 권한을 허용하는 버그가 발생할 수 있다.

예) > php -v
PHP 5.3.7RC6-dev (cli)

Test script:
---------------
printf("MD5: %s\n", crypt('password', '$1$U7AjYB.O$'));


Expected result:
----------------
MD5: $1$U7AjYB.O$L1N7ux7twaMIMw0En8UUR1

Actual result:
--------------
MD5: $1$U7AjYB.O

* 알림: 이 점검항목은 이 취약점을 점검하기 위해 해당 원격지 PHP 서버의 버전 정보만을 확인한다. 따라서 거짓 양성반응(False Positive)을 보일 수 있다.

* 참고 사이트:
https://bugs.php.net/bug.php?id=55439
http://www.php.net/archive/2011.php#id2011-08-23-1

* 영향을 받는 플랫폼:
PHP 5.3.8 이전의 버전들
Any operating system Any version
해결책 PHP 웹 사이트인 http://www.php.net/downloads.php 에서 구할 수 있는 PHP의 가장 최신 버전(5.3.8 혹은 이후)으로 업그레이드 하여야 한다.
관련 URL CVE-2011-3189 (CVE)
관련 URL 49376 (SecurityFocus)
관련 URL 69429 (ISS)