| 취약점ID |
25030 |
| 위험도 |
40 |
| 포트 |
5432 |
| 프로토콜 |
TCP |
| 분류 |
DB |
| 상세설명 |
해당 PostgreSQL 서버의 버전에 따르면 서버에는 다수의 취약점들이 존재한다. PostgreSQL 은 SQL의 확장 서브셋(subset)을 지원하는 객체-관계형 데이터베이스 관리 시스템(DBMS) 로서 모든 소스가 공개되어 있는 무료 소프트웨어이다. 일부 PostgreSQL 버전에는 원격지 공격자들에 의한 코드 실행을 허용하거나 서비스 거부 공격(DoS)을 받을 수 있는 다음과 같은 다양한 취약점들이 존재한다.
1. 환경 변수를 통한 버퍼 오버플로우(Buffer Overflow): PostgreSQL 에는 "TZ", "SET TIME ZONE" 와 같은 환경변수들이 존재한다. 그러나, 이 두 환경 변수를 처리하는 과정에서 불충분한 경계 체크 문제로로 인하여, 로컬 공격자들은 서비스 거부 상태를 발생시키거나 PostgreSQL 사용자 권한으로 임의의코드를 실행할 수 있다. 2. 정수형 버퍼 오버플로우(Integer Buffer Overflow): PostgreSQL 은 circle_poly, path_encode, path_add 함수와 같은 다수의 기하(geo) 함수들을 지원한다. 그러나, 이러한 함수 안에 존재하는 불충분한 버퍼 경계 체크 문제로 인하여, 원격지 공격자들은 정수형 오버플로우(Integer Overflow)를 발생시킬 수 있다. 그 결과, 시스템이 크래쉬(crash) 되거나 임의의 코드를 실행할 수 있다. 3. 힙 기반 버퍼 오버플로우(Heap-based Buffer Overflow): PostgreSQL 의 repeat() 함수에는 적절히 경계 체크를 하지 않는 버퍼가 존재한다. 이로 인하여, 원격지 공격자들은 repeat() 함수에 버퍼의 한계를 넘어서는 긴 문자열을 전달하는 방법으로, 힙 기반 버퍼 오버플로우(Heap-based Buffer Overflow)를 발생시킨다. 그 결과, 시스템이 크래쉬(crash) 되거나 임의의 코드를 실행할 수 있다. 4. 스택 기반 버퍼 오버플로우(Stack-based Buffer Overflow): PostgreSQL 의 cash_words() 함수에는 적절히 경계 체크를 하지 않는 버퍼가 존재한다. 이로 인하여, 원격지 공격자들은 cash_word() 함수에 버퍼의 한계를 넘어서는 긴 문자열을 전달하는 방법으로, 스택 기반 버퍼 오버플로우(Stack-based Buffer Overflow) 를 발생시킨다. 그 결과, 시스템이 크래쉬(crash) 되거나 임의의 코드를 실행할 수 있다.
* 알림: 이 점검항목은 이 취약점을 점검하기 위해 해당 PostgreSQL 서버의 버전 정보만을 확인한다. 따라서 거짓 양성반응(False Positive)을 보일 수 있다.
* 참고 사이트: http://marc.theaimsgroup.com/?l=bugtraq&m=103021186622725&w=2 http://marc.theaimsgroup.com/?l=bugtraq&m=102977465204357&w=2 http://archives.neohapsis.com/archives/bugtraq/2002-08/0204.html
* 영향을 받는 플랫폼: PostgreSQL 7.2.2 와 그 이전 버전들 Windows Any version UNIX Any version Linux Any version |
| 해결책 |
다음 PostgreSQL의 FTP 사이트를 참조하여 PostgreSQL (7.2.3 또는 그 이후 버전) 또는 가장 최신 버전으로 업그레이드해야 한다: ftp://ftp.postgresql.org/pub/ |
| 관련 URL |
CVE-2002-1397,CVE-2002-1400,CVE-2002-1401,CVE-2002-1402 (CVE) |
| 관련 URL |
5497,5527,6610,6611,6613,6614,6615 (SecurityFocus) |
| 관련 URL |
9891,9926,11079,11080 (ISS) |
|