🇰🇷 한글 설명
PostgreSQL의 PL/php 확장 기능 1.4 이하에서 SECURITY DEFINER 함수 내 스크립트 실행 시 다른 SQL 사용자 신원에 대한 보호가 불충분하여, 원격 인증 사용자가 악의적인 코드를 통해 함수 소유자의 권한으로 실행 가능합니다. 동일 세션 내에서 권한 상승 공격이 가능합니다.
💡 쉬운 설명
PostgreSQL에서 높은 권한으로 실행되는 PHP 함수에 악의적인 코드를 몰래 집어넣으면, 그 높은 권한으로 코드가 실행됩니다. 일반 사용자가 관리자 권한을 갈취할 수 있게 됩니다.
🇺🇸 원문 (English)
The PL/php add-on 1.4 and earlier for PostgreSQL does 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, a related issue to CVE-2010-3433.
📍 영향받는 시스템
PostgreSQL PL/php 확장 1.4 이하 버전
⚔️ 공격 벡터
SECURITY DEFINER 함수 내에 악의적인 PHP 스크립트를 삽입하여 함수 소유자 권한으로 실행
🛡️ 대응 방법
PostgreSQL 및 PL/php를 최신 버전으로 업그레이드하고 신뢰할 수 없는 사용자의 SECURITY DEFINER 함수 생성 제한
🔧 검증 코드
설치된 PL/php 패키지 버전이 1.4 이하면 취약함. 1.5 이상이면 안전함.
dpkg -l postgresql-plphp 2>/dev/null | grep -E 'ii' | awk '{print $2, $3}'