🇰🇷 한글 설명
PostgreSQL Anonymizer의 범위 기반 더미 함수는 범위 크기를 제한하지 않습니다. 이를 악용하면 백엔드의 메모리를 고갈시켜 OOM 종료를 유발할 수 있으며(overcommit 활성화 시), 이로 인해 클러스터 전체의 크래시 복구가 발생합니다. 이 문제는 PostgreSQL Anonymizer 3.3.0 이상에서 해결되었습니다.
💡 쉬운 설명
데이터를 가짜 값으로 바꿔주는 PostgreSQL 확장 기능에 결함이 있어, 공격자가 데이터베이스 메모리를 모두 쓰게 만들 수 있습니다. 이로 인해 데이터베이스 서버 전체가 멈추고 다시 시작되는 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
PostgreSQL Anonymizer's range-based dummy functions dont constraint the range size. This vulnerability can be exploited to exhaust the memory of a backend and OOM-kill it (when ovecommit is on), which results in a cluster-wide crash recovery. The problem is resolved in PostgreSQL Anonymizer 3.3.0 and later versions.
📍 영향받는 시스템
PostgreSQL Anonymizer 3.3.0 미만 버전
⚔️ 공격 벡터
권한이 있는 사용자가 범위 기반 더미 함수에 매우 큰 범위 값을 입력해 백엔드 메모리를 고갈시킴
🛡️ 대응 방법
PostgreSQL Anonymizer를 3.3.0 이상으로 업데이트
🔧 검증 코드
출력된 버전이 3.3.0 이상이면 패치된 상태이고, 3.3.0 미만이거나 결과가 비어 있으면 취약하거나 해당 확장이 설치되지 않은 상태입니다.
psql -U postgres -d your_db -tAc "SELECT extversion FROM pg_extension WHERE extname='anon';"