English
◀◁ 뒤로
취약점ID 22744
위험도 40
포트 80, ...
프로토콜 TCP
분류 CGI
상세설명 해당 웹 서버는 7.0.11 버전보다 더 오래된 PHP의 버전을 가동 중이다. PHP는 웹 개발에 적합하고 HTML에 임베디드(embedded) 될 수 있는 널리 사용 중인 범용 스크립팅 언어이다. PHP의 7.0.11 이전 버전은 다음과 같은 다중의 취약점이 존재한다.

- 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-7.php#7.0.11

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