🇰🇷 한글 설명
PostgreSQL 9.1.20 이전, 9.2.15 이전, 9.3.11 이전, 9.4.6 이전, 9.5.1 이전 버전의 PL/Java 모듈에서 사용자 정의 설정(GUC)에 대한 접근 제어가 부족하여 공격자가 권한을 상승시킬 수 있는 취약점입니다.
💡 쉬운 설명
PostgreSQL 데이터베이스의 Java 확장 기능에서 설정 값을 제한하지 않아 일반 사용자가 관리자 권한을 얻을 수 있습니다. 데이터베이스에 접근 가능한 모든 사용자가 시스템 제어권을 장악할 위험이 있습니다.
🇺🇸 원문 (English)
PostgreSQL before 9.1.20, 9.2.x before 9.2.15, 9.3.x before 9.3.11, 9.4.x before 9.4.6, and 9.5.x before 9.5.1 does not properly restrict access to unspecified custom configuration settings (GUCS) for PL/Java, which allows attackers to gain privileges via unspecified vectors.
📍 영향받는 시스템
PostgreSQL 9.1.x (<9.1.20), 9.2.x (<9.2.15), 9.3.x (<9.3.11), 9.4.x (<9.4.6), 9.5.x (<9.5.1)
⚔️ 공격 벡터
데이터베이스 접근 권한이 있는 사용자가 PL/Java를 통해 제한된 GUC 설정을 조작하여 권한 상승
🛡️ 대응 방법
PostgreSQL을 9.1.20, 9.2.15, 9.3.11, 9.4.6, 9.5.1 이상으로 업그레이드하고 신뢰할 수 없는 사용자의 PL/Java 함수 생성 권한 제한
🔧 검증 코드
PostgreSQL 버전이 각 메이저 버전별 최소 필수 버전 이상인지 확인 (9.1≥9.1.20, 9.2≥9.2.15, 9.3≥9.3.11, 9.4≥9.4.6, 9.5≥9.5.1)
psql -U postgres -c "SELECT version();" 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'