| 취약점ID |
12047 |
| 위험도 |
40 |
| 포트 |
80, ... |
| 프로토콜 |
TCP |
| 분류 |
WWW |
| 상세설명 |
해당 Oracle9i 어플리케이션 서버의 PL/SQL Apache 모듈에는 긴 help 페이지의 요청으로 인한 버퍼 오버플로우 취약점이 존재한다. Oracle 9i 어플리케이션 서버는 웹 서비스를 지원하고 PL/SQL 모듈(modplsql 또는 mod_plsql)을 통해 Stored Procedure 들을 액세스(access)하기 위해 Apache HTTP 서버와 함께 동작한다. Oracle9iAS 를 위한 PL/SQL 모듈은 또한 원격지 사용자들이 DAD(Database Access Descriptors)를 관리하고 Help 페이지를 액세스(access)하는 기능도 제공한다. 일반적으로 DAD("/admin_")의 경우는 사용자명과 패스워드를 통해서 액세스가 제한받을 수 있으나, Help 페이지에 대한 액세스는 이러한 제한이 없기 때문에 임의의 사용자들이 자유롭게 액세스할 수 있다. 이 PL/SQL 모듈은 이러한 Help 페이지에 대한 요청을 통해서 발생할 수 있는 버퍼 오버플로우(Buffer Overflow) 취약점을 가지고 있는데, 원격지 공격자가 다음과 같이 과도하게 긴 Help 페이지의 요청(request)을 전달될 때 발생한다:
GET /pls/portal30/admin_/help/AAAAAA....['A'*215].....AAAAAAAA HTTP/1.0
이와 같은 요청(request)은 메모리 버퍼를 오버플로우(Overflow)시키고 스택(stack) 상에 저장된 반환주소(return address)를 덮어쓸 수 있게 한다. 결과적으로, 이 취약점을 이용하여 원격지 공격자들은 단순히 Apache 서버를 크래쉬(crash)시키거나 공격자가 의도하는 임의의 코드를 실행할 수 있다. Windows NT 또는 2000 의 경우, Apache 서비스는 SYSTEM 권한으로 동작하기 때문에 공격이 성공할 경우 임의의 코드는 SYSTEM 권한으로 실행되고 공격자는 시스템에 대한 완전한 제어를 획득할 수 있다.
* 참고 사이트: http://online.securityfocus.com/bid/3726 http://www.iss.net/security_center/static/7727.php
* 영향을 받는 플랫폼: Oracle9i Application Server 1.0.2.X any version |
| 해결책 |
Oracle MetaLink 사이트로부터 패치 #2128936 을 받아 설치하여야 한다: 1. Oracle MetaLink http://metalink.oracle.com 사이트로 이동한다. 2. MetaLink 사이트에 로그인 한다. 3. "Patches" 버튼을 선택한 후 패치 번호 2128936 을 입력한다. 4. "Submit" 버튼을 클릭하여 패치를 다운받는다.
-- 또는 --
임시 조치방법으로 디폴트 "/admin_" 경로를 변경하여야 한다: 1. [Oracle_Home_Dir]에서 /Apache/modplsql/cfg/wdbsvr.app" 파일을 연다. 2. 파일 안에 "adminPath" 엔트리를 찾아서 현재 설정된 디폴트 경로를 다른 경로로 변경한다. |
| 관련 URL |
CVE-2001-1216 (CVE) |
| 관련 URL |
(SecurityFocus) |
| 관련 URL |
(ISS) |
|