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