English
◀◁ 뒤로
취약점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)