| 취약점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) |
|