🔍 CVE-2010-3433

6.0
CVSS Score
MEDIUM
2010-10-06
2026-04-29 01:13
✅ 완료

🇰🇷 한글 설명

PostgreSQL의 PL/perl과 PL/Tcl 구현에서 SECURITY DEFINER 함수 내 스크립트 실행 시 사용자 신원을 제대로 보호하지 못하는 취약점입니다. 인증된 사용자가 악의적인 스크립트 코드를 통해 표준 함수나 연산자를 재정의하여 권한을 상승시킬 수 있습니다.

💡 쉬운 설명

PostgreSQL 데이터베이스에서 특정 사용자 권한으로 실행되는 함수를 만들 때, 다른 사용자가 악의적인 코드를 주입하여 더 높은 권한으로 명령을 실행할 수 있는 문제입니다. 이를 통해 데이터베이스의 민감한 정보나 기능을 조작할 수 있습니다.

🇺🇸 원문 (English)

The PL/perl and PL/Tcl implementations in PostgreSQL 7.4 before 7.4.30, 8.0 before 8.0.26, 8.1 before 8.1.22, 8.2 before 8.2.18, 8.3 before 8.3.12, 8.4 before 8.4.5, and 9.0 before 9.0.1 do not properly protect script execution by a different SQL user identity within the same session, which allows remote authenticated users to gain privileges via crafted script code in a SECURITY DEFINER function, as demonstrated by (1) redefining standard functions or (2) redefining operators, a different vulnerability than CVE-2010-1168, CVE-2010-1169, CVE-2010-1170, and CVE-2010-1447.

📍 영향받는 시스템

PostgreSQL 7.4(7.4.30 이전), 8.0(8.0.26 이전), 8.1(8.1.22 이전), 8.2(8.2.18 이전), 8.3(8.3.12 이전), 8.4(8.4.5 이전), 9.0(9.0.1 이전)

⚔️ 공격 벡터

데이터베이스 접근 권한이 있는 인증된 사용자가 SECURITY DEFINER 함수 내에서 PL/perl 또는 PL/Tcl 스크립트를 통해 표준 함수나 연산자를 재정의하여 권한 상승

🛡️ 대응 방법

PostgreSQL을 각 버전별 최소 보안 버전(7.4.30, 8.0.26, 8.1.22, 8.2.18, 8.3.12, 8.4.5, 9.0.1 이상)으로 업그레이드

🔧 검증 코드

현재 PostgreSQL 버전을 확인하여 영향받는 버전 범위(7.4.0-7.4.29, 8.0.0-8.0.25 등)에 해당하면 취약한 상태입니다.

Shell / Script
psql -U postgres -c 'SELECT version();' 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
AV:N/AC:M/Au:S/C:P/I:P/A:P

💻 영향받는 소프트웨어

PostgreSQL