🇰🇷 한글 설명
PostgreSQL의 SECURITY DEFINER 함수에서 search_path 설정 처리의 취약점으로, 인증된 사용자가 함수 소유자의 권한으로 임의 코드를 실행할 수 있습니다. 권한 상승 공격을 통해 데이터베이스 전체에 대한 접근 권한을 획득할 수 있습니다.
💡 쉬운 설명
PostgreSQL에서 특정 함수를 호출할 때 악의적인 경로 설정을 통해 관리자 권한으로 명령을 실행할 수 있습니다. 이를 악용하면 데이터베이스 전체 제어가 가능해집니다.
🇺🇸 원문 (English)
Untrusted search path vulnerability in PostgreSQL before 7.3.19, 7.4.x before 7.4.17, 8.0.x before 8.0.13, 8.1.x before 8.1.9, and 8.2.x before 8.2.4 allows remote authenticated users, when permitted to call a SECURITY DEFINER function, to gain the privileges of the function owner, related to "search_path settings."
📍 영향받는 시스템
PostgreSQL 7.3.x(<7.3.19), 7.4.x(<7.4.17), 8.0.x(<8.0.13), 8.1.x(<8.1.9), 8.2.x(<8.2.4)
⚔️ 공격 벡터
인증된 사용자가 SECURITY DEFINER 함수 호출 시 악의적인 search_path를 설정하여 권한 상승
🛡️ 대응 방법
PostgreSQL을 안전 버전으로 업그레이드 (7.3.19, 7.4.17, 8.0.13, 8.1.9, 8.2.4 이상)
🔧 검증 코드
현재 PostgreSQL 버전이 각 메이저 버전별 패치 버전 이상인지 확인
psql -c "SELECT version()" | grep -oE 'PostgreSQL [0-9]+\.[0-9]+\.[0-9]+'