| 취약점ID |
22743 |
| 위험도 |
40 |
| 포트 |
80, ... |
| 프로토콜 |
TCP |
| 분류 |
CGI |
| 상세설명 |
해당 웹 서버는 5.6.26 버전보다 더 오래된 PHP의 버전을 가동 중이다. PHP는 웹 개발에 적합하고 HTML에 임베디드(embedded) 될 수 있는 널리 사용 중인 범용 스크립팅 언어이다. PHP의 5.6.26 이전 버전은 다음과 같은 다중의 취약점이 존재한다.
- 사용자 입력의 정당성을 올바르게 확인하지 못하여 역직렬화된 오브젝트를 해제할 때 오류가 발생한다. 이로 인해 공격자는 부분적으로 구성된 오브젝트를 참조하는 역질렬화 호출을 통해 메모리를 파괴시키고, 서비스 거부를 일으킬 수 있다. (CVE-2016-7411)
- ext/mysqlnd/mysqlnd_wireprotocol.c 파일의 php_mysqlnd_rowp_read_text_protocol_aux() 함수에 BIT 필드에 UNSIGNED_FLAG 플래그가 존재하는지 올바르게 확인하지 못하여 힙 기반의 버퍼 오버플로우가 발생하는 오류가 존재한다. 이로 인해 공격자는 조작된 필드 메타데이터를 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7412)
- ext/wddx/wddx.c 파일의 wddx_stack_destroy() 함수에서 레코드 셋 요소를 역질렬화할 때 use-after-free 오류가 발생한다. 이로 인해 공격자는 wddxPacket XML 문서를 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7413)
- ext/phar/zip.c 파일의 phar_parse_zipfile() 함수에 uncompressed_filesize 필드의 용량이 충분한지 올바르게 판단하지 못해 메모리의 경계를 넘어버리는 오류가 존재한다. 이로 인해 공격자는 조작된 아카이브를 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7414)
- ICU4C 라이브러리에 Locale 클래스에 제공되는 로캘 길이를 올바르게 제한하지 못해 스택 기반의 버퍼 오버플로우가 발생하는 오류가 존재한다. 이로 인해 공격자는 MessageFormatter::formatMessage() 함수 호출 시 매우 긴 인자값을 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7416)
- ext/spl/spl_array.c 파일의 spl_array_get_dimension_ptr_ptr() 함수에 SplArray를 역직렬화할 때 반환 값과 데이터 타입을 올바르게 확인하지 못하는 오류가 존재한다. 이로 인해 공격자는 조작된 직렬화된 데이터를 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7417)
- ext/wddx/wddx.c 파일의 php_wddx_push_element() 함수에 wddx_deserialize() 호출을 잘못 처리하도록 만드는 부적절한 불 대수를 처리하면 메모리 경계를 벗어나는 오류가 존재한다. 이로 인해 공격자는 wddxPacket XML 문서를 통해 서비스 거부를 일으킬 수 있다. (CVE-2016-7418)
* 알림: 이 점검항목은 이 취약점을 점검하기 위해 해당 원격지 PHP 서버의 버전 정보만을 확인한다. 따라서 거짓 양성반응(False Positive)을 보일 수 있다.
* 참고 사이트: https://secure.php.net/ChangeLog-5.php#5.6.26
* 영향을 받는 플랫폼: PHP 5.6.26 이전의 버전들 Any operating system Any version |
| 해결책 |
PHP 웹 사이트인 http://www.php.net/downloads.php 에서 구할 수 있는 PHP의 가장 최신 버전(5.6.26 혹은 이후)으로 업그레이드 하여야 한다. |
| 관련 URL |
CVE-2016-7411,CVE-2016-7412,CVE-2016-7413,CVE-2016-7414,CVE-2016-7416,CVE-2016-7417,CVE-2016-7418 (CVE) |
| 관련 URL |
93004,93005,93006,93007,93008,93009,93011 (SecurityFocus) |
| 관련 URL |
(ISS) |
|