🇰🇷 한글 설명
PostgreSQL pg_dump의 CRLF 인젝션 취약점으로, 개행 문자가 포함된 악성 객체 이름을 가진 파일을 통해 임의의 SQL 명령어를 실행할 수 있다. 데이터베이스 복원 시 생성되는 SQL 스크립트에 공격자 명령어가 삽입되어 임의 코드 실행이 가능하다.
💡 쉬운 설명
PostgreSQL 백업 복원 도구에서 특수한 파일명을 악용해 허용되지 않은 SQL 명령어를 몰래 실행할 수 있는 문제다. 악의적인 백업 파일을 복원할 때 공격자가 심어둔 명령어가 함께 실행된다.
🇺🇸 원문 (English)
CRLF injection vulnerability in pg_dump in PostgreSQL 8.3.x before 8.3.18, 8.4.x before 8.4.11, 9.0.x before 9.0.7, and 9.1.x before 9.1.3 allows user-assisted remote attackers to execute arbitrary SQL commands via a crafted file containing object names with newlines, which are inserted into an SQL script that is used when the database is restored.
📍 영향받는 시스템
PostgreSQL 8.3.x (<8.3.18), 8.4.x (<8.4.11), 9.0.x (<9.0.7), 9.1.x (<9.1.3)
⚔️ 공격 벡터
개행 문자가 포함된 악성 객체명을 가진 백업 파일 생성 후 복원 시 임의 SQL 명령어 실행
🛡️ 대응 방법
PostgreSQL을 8.3.18, 8.4.11, 9.0.7, 9.1.3 이상의 패치 버전으로 업그레이드
🔧 검증 코드
pg_dump 버전이 영향받는 범위 이상인지 확인하여 8.3.18, 8.4.11, 9.0.7, 9.1.3 이상이면 패치됨
pg_dump --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'