🇰🇷 한글 설명
PostgreSQL 9.3~10.x 버전의 json_populate_recordset 또는 jsonb_populate_recordset 함수에서 잘못된 입력을 처리할 때 서버가 크래시되거나 메모리의 일부 바이트가 노출될 수 있는 취약점입니다. 인증된 사용자가 악의적인 JSON 쿼리를 실행하여 이를 트리거할 수 있습니다.
💡 쉬운 설명
PostgreSQL의 JSON 처리 함수가 특정 잘못된 입력을 받으면 프로그램이 멈추거나 민감한 메모리 정보를 유출할 수 있습니다. 데이터베이스에 접근 권한이 있는 사람이 이를 악용할 수 있습니다.
🇺🇸 원문 (English)
Invalid json_populate_recordset or jsonb_populate_recordset function calls in PostgreSQL 10.x before 10.1, 9.6.x before 9.6.6, 9.5.x before 9.5.10, 9.4.x before 9.4.15, and 9.3.x before 9.3.20 can crash the server or disclose a few bytes of server memory.
📍 영향받는 시스템
PostgreSQL 10.0 이전, 9.6.0~9.6.5, 9.5.0~9.5.9, 9.4.0~9.4.14, 9.3.0~9.3.19
⚔️ 공격 벡터
인증된 사용자가 json_populate_recordset/jsonb_populate_recordset 함수에 유효하지 않은 JSON 입력을 전달하여 DoS 또는 메모리 정보 노출 유도
🛡️ 대응 방법
PostgreSQL을 다음 버전 이상으로 업그레이드: 10.1, 9.6.6, 9.5.10, 9.4.15, 9.3.20
🔧 검증 코드
출력된 PostgreSQL 버전 번호를 확인하여 위의 안전 버전 이상인지 검증합니다.
psql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?'