🇰🇷 한글 설명
Debian postgresql-common 패키지의 pg_ctlcluster, pg_createcluster, pg_upgradecluster 스크립트가 심볼릭 링크를 안전하게 처리하지 않아, 로컬 공격자가 임의의 파일을 덮어쓸 수 있는 취약점입니다. 이를 통해 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
PostgreSQL 관리 스크립트가 링크된 파일을 제대로 검증하지 않아서, 로컬 사용자가 중요한 파일들을 덮어쓸 수 있는 문제입니다. 이 스크립트가 root 권한으로 실행되면 시스템 파일도 손상될 수 있습니다.
🇺🇸 원문 (English)
The Debian pg_ctlcluster, pg_createcluster, and pg_upgradecluster scripts, as distributed in the Debian postgresql-common package before 181+deb9u1 for PostgreSQL (and other packages related to Debian and Ubuntu), handled symbolic links insecurely, which could result in local denial of service by overwriting arbitrary files.
📍 영향받는 시스템
Debian/Ubuntu postgresql-common 패키지 181+deb9u1 이전 버전 (Debian Stretch 및 관련 PostgreSQL 패키지)
⚔️ 공격 벡터
로컬 사용자가 악의적인 심볼릭 링크를 생성하고, 시스템이 pg_ctlcluster 스크립트 실행 시 이를 따라가도록 유도하여 임의 파일 덮어쓰기
🛡️ 대응 방법
sudo apt-get update && sudo apt-get install --only-upgrade postgresql-common (181+deb9u1 이상으로 업그레이드)
🔧 검증 코드
181+deb9u1 이상의 버전이 표시되면 패치됨, 그 이하면 취약한 상태
dpkg -l postgresql-common 2>/dev/null | tail -1 | awk '{print $3}'