🇰🇷 한글 설명
WarehousePG 7.2.1부터 7.6.0 버전에서 gp_log_backend_memory_contexts() 함수에 권한 검증이 누락된 취약점이 발견되었습니다. 인증된 모든 데이터베이스 역할이 권한 없이 이 함수를 실행할 수 있으며, 이를 통해 슈퍼유저 세션을 포함한 다른 세션의 메모리 컨텍스트 정보를 로그에 기록하도록 강제할 수 있습니다. 이 과정에서 다른 사용자의 쿼리 텍스트가 로그에 노출되거나 대량의 로그 생성을 통한 서비스 부하를 유발할 수 있습니다.
💡 쉬운 설명
데이터베이스에 로그인할 수 있는 사용자라면 누구나 관리자 권한을 우회하여 다른 사용자의 민감한 정보를 로그 파일에 남기게 할 수 있는 결함입니다. 이로 인해 다른 사람의 비밀번호나 중요한 질문이 포함된 명령어가 노출되거나 시스템에 과부하가 걸릴 수 있습니다.
🇺🇸 원문 (English)
WarehousePG (WHPG) 7.2.1 through 7.6.0 is affected by a missing authorization vulnerability (CWE-862) in the built-in function gp_log_backend_memory_contexts(). Any authenticated database role can run this function without a GRANT. It also gets around the superuser restriction that PostgreSQL places on the underlying pg_log_backend_memory_contexts() function. A low-privileged user can force the segment backends of any other session, superuser sessions included, to write their memory context details to the segment server logs, which the attacker cannot read. Those details can include query text from other users' cached plans, and the call can be repeated to generate large amounts of log output. WarehousePG 6.x is not affected.
📍 영향받는 시스템
WarehousePG (WHPG) 7.2.1 ~ 7.6.0
⚔️ 공격 벡터
인증된 낮은 권한의 사용자가 권한 검증이 없는 특정 함수를 호출하여 타 세션의 정보를 로그로 유도
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전으로 업데이트하거나, gp_log_backend_memory_contexts() 함수에 대한 실행 권한을 제한하십시오.
🔧 검증 코드
출력된 결과에 7.2.1에서 7.6.0 사이의 버전이 포함되어 있다면 취약한 버전이 설치된 상태입니다.
rpm -q WarehousePG 2>/dev/null | grep -E '7\[2-6]\.'