🔍 CVE-2012-0866

6.5
CVSS Score
MEDIUM
2012-07-18
2026-04-29 01:13
✅ 완료

🇰🇷 한글 설명

PostgreSQL 8.3.x, 8.4.x, 9.0.x, 9.1.x의 CREATE TRIGGER 기능에서 SECURITY DEFINER 트리거 함수의 실행 권한을 제대로 검증하지 않는 취약점입니다. 원격 인증된 사용자가 공격자 소유 테이블에 트리거를 설치하여 제한된 트리거를 임의 데이터에 대해 실행할 수 있습니다.

💡 쉬운 설명

PostgreSQL의 특별 권한 트리거 함수에서 권한 검사가 부실해서, 로그인한 공격자가 자신이 접근할 수 없는 민감한 작업을 강제로 실행시킬 수 있습니다. 데이터 도용이나 손상이 가능합니다.

🇺🇸 원문 (English)

CREATE TRIGGER in PostgreSQL 8.3.x before 8.3.18, 8.4.x before 8.4.11, 9.0.x before 9.0.7, and 9.1.x before 9.1.3 does not properly check the execute permission for trigger functions marked SECURITY DEFINER, which allows remote authenticated users to execute otherwise restricted triggers on arbitrary data by installing the trigger on an attacker-owned table.

📍 영향받는 시스템

PostgreSQL 8.3.x(8.3.18 이전), 8.4.x(8.4.11 이전), 9.0.x(9.0.7 이전), 9.1.x(9.1.3 이전)

⚔️ 공격 벡터

인증된 사용자가 공격자 소유 테이블에 SECURITY DEFINER 트리거를 설치하여 권한 검사를 우회하고 고권한 트리거 실행

🛡️ 대응 방법

PostgreSQL을 8.3.18, 8.4.11, 9.0.7, 9.1.3 이상의 패치된 버전으로 업그레이드

🔧 검증 코드

출력된 버전이 8.3.18, 8.4.11, 9.0.7, 9.1.3 이상이면 안전하고, 그 이하이면 취약한 상태입니다.

Shell / Script
psql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PostgreSQL