🇰🇷 한글 설명
PostgreSQL 9.2.4 이전, 9.1.9 이전, 9.0.13 이전 버전에서 데이터베이스명이 '-'로 시작하는 연결 요청을 통해 argument injection이 발생한다. 이를 통해 원격 공격자는 파일 손상으로 인한 서비스 거부를 유발할 수 있고, 인증된 사용자는 설정 수정 및 임의 코드 실행이 가능하다.
💡 쉬운 설명
PostgreSQL에 특수한 문자(-)로 시작하는 데이터베이스명으로 접속하면 프로그램 옵션을 조작할 수 있는 취약점이다. 권한이 있는 사용자라면 시스템 설정을 변경하거나 악의적인 명령을 실행할 수 있다.
🇺🇸 원문 (English)
Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows remote attackers to cause a denial of service (file corruption), and allows remote authenticated users to modify configuration settings and execute arbitrary code, via a connection request using a database name that begins with a "-" (hyphen).
📍 영향받는 시스템
PostgreSQL 9.0.x (< 9.0.13), 9.1.x (< 9.1.9), 9.2.x (< 9.2.4)
⚔️ 공격 벡터
데이터베이스명을 '-' 문자로 시작하도록 지정한 연결 요청을 통한 argument injection
🛡️ 대응 방법
PostgreSQL을 최소한 9.0.13, 9.1.9, 9.2.4 이상으로 업그레이드
🔧 검증 코드
PostgreSQL 버전이 9.0.13 이상, 9.1.9 이상, 또는 9.2.4 이상이면 패치됨
psql --version | grep -oE 'psql \(PostgreSQL\) [0-9]+\.[0-9]+\.[0-9]+' || postgres --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'