🇰🇷 한글 설명
PostGIS 3.7.0 이하 버전의 address_standardizer에서 호출자가 제공한 규칙 테이블의 Weight 매개변수를 검증하지 않아 발생하는 취약점입니다. 공격자가 범위를 벗어난 Weight 값을 포함한 악성 규칙 행을 생성하면 load_value 배열에서 경계 외 읽기(out-of-bounds read)가 발생하여 PostgreSQL 백엔드 프로세스가 충돌하고 모든 클러스터 세션이 종료될 수 있습니다.
💡 쉬운 설명
잘못된 숫자가 입력되었을 때 이를 확인하지 않아 프로그램이 오류를 일으키는 문제입니다. 공격자가 특수한 데이터를 보내면 데이터베이스 전체가 멈춰버릴 수 있습니다.
🇺🇸 원문 (English)
PostGIS address_standardizer through 3.7.0 fails to validate the Weight parameter from caller-supplied rules tables before using it as an array index. Attackers can craft malicious rule rows with out-of-range Weight values to trigger out-of-bounds reads in the load_value array, causing the PostgreSQL backend process to crash and terminate all cluster sessions.
📍 영향받는 시스템
PostGIS 3.7.0 및 그 이전 버전
⚔️ 공격 벡터
악의적으로 조작된 규칙 테이블(rules table)의 Weight 값을 입력하여 경계 외 읽기 유도
🛡️ 대응 방법
PostGIS를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 PostGIS 버전이 3.7.0 이하인지 확인하여 취약 여부를 판단합니다.
psql -c "SELECT postgis_full_version();" | grep -E 'PostGIS (3\[0-9]\.|[0-3]\.)'