🇰🇷 한글 설명
PostgreSQL 8.4~9.6 버전에서 pg_user_mappings 뷰가 외부 서버 연결 시 비밀번호를 노출하는 정보유출 취약점입니다. 해당 외부 서버에 대한 USAGE 권한만 있는 일반 사용자도 민감한 인증정보에 접근할 수 있습니다.
💡 쉬운 설명
PostgreSQL의 데이터베이스 연동 기능에서 관리자만 알아야 할 비밀번호가 일반 사용자에게 보이는 문제입니다. 권한이 없는 사람도 다른 서버 접근 암호를 볼 수 있다는 뜻입니다.
🇺🇸 원문 (English)
PostgreSQL versions 8.4 - 9.6 are vulnerable to information leak in pg_user_mappings view which discloses foreign server passwords to any user having USAGE privilege on the associated foreign server.
📍 영향받는 시스템
PostgreSQL 8.4, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6 버전
⚔️ 공격 벡터
이미 데이터베이스 접근 권한이 있는 사용자가 pg_user_mappings 뷰를 쿼리하여 외부 서버 비밀번호 탈취
🛡️ 대응 방법
PostgreSQL을 9.6.3, 9.5.7, 9.4.12, 9.3.17 이상의 패치 버전으로 업그레이드 실시
🔧 검증 코드
명령어 실행 후 8.4~9.6 사이의 버전이 출력되면 취약한 버전이며, 10.0 이상이면 패치됨
psql -U postgres -c "SELECT version();" 2>/dev/null | grep -oE '(8\.[4-9]|9\.[0-6])'