🇰🇷 한글 설명
PostgreSQL 9.5.4 이전 버전에서 중첩된 CASE 표현식이나 SQL 함수 인라이닝으로 인해 NULL 포인터 역참조가 발생합니다. 원격 인증된 사용자가 특정 쿼리를 실행하여 서버 충돌을 유발하거나 메모리 정보를 유출하거나 임의 코드 실행이 가능합니다.
💡 쉬운 설명
PostgreSQL 데이터베이스의 특정 쿼리 방식에서 서버가 비정상 종료될 수 있습니다. 권한 있는 사용자가 이를 악용하여 서버를 다운시키거나 민감한 데이터를 탈취할 수 있습니다.
🇺🇸 원문 (English)
PostgreSQL before 9.1.23, 9.2.x before 9.2.18, 9.3.x before 9.3.14, 9.4.x before 9.4.9, and 9.5.x before 9.5.4 allow remote authenticated users to cause a denial of service (NULL pointer dereference and server crash), obtain sensitive memory information, or possibly execute arbitrary code via (1) a CASE expression within the test value subexpression of another CASE or (2) inlining of an SQL function that implements the equality operator used for a CASE expression involving values of different types.
📍 영향받는 시스템
PostgreSQL 9.1.x (9.1.23 미만), 9.2.x (9.2.18 미만), 9.3.x (9.3.14 미만), 9.4.x (9.4.9 미만), 9.5.x (9.5.4 미만)
⚔️ 공격 벡터
원격 인증된 사용자가 중첩된 CASE 표현식 또는 특정 형식의 SQL 함수 인라이닝을 포함한 쿼리 실행
🛡️ 대응 방법
PostgreSQL을 각 메이저 버전의 패치 버전 이상으로 즉시 업그레이드 (9.1.23+, 9.2.18+, 9.3.14+, 9.4.9+, 9.5.4+)
🔧 검증 코드
설치된 PostgreSQL 버전이 9.1.23, 9.2.18, 9.3.14, 9.4.9, 9.5.4 이상인지 확인하여 취약한 버전은 업그레이드 필요
psql --version 2>/dev/null || postgres --version 2>/dev/null || dpkg -l postgresql 2>/dev/null | grep -E '^ii'