🔍 CVE-2026-54291

5.9
CVSS Score
MEDIUM
2026-07-06
2026-07-09 13:16
✅ 완료

🇰🇷 한글 설명

pgjdbc 42.7.4부터 42.7.11 버전에서 channelBinding=require 설정이 적용된 연결이 SCRAM-SHA-256-PLUS에서 일반 SCRAM-SHA-256으로 암시적으로 다운그레이드될 수 있는 취약점이 발견되었습니다. 공격자가 TLS 연결을 가로챌 경우, 채널 바인딩 해시가 없는 인증서를 사용하여 중간자 공격(MitM)을 통해 보안 설정을 무력화할 수 있습니다.

💡 쉬운 설명

데이터베이스 연결 시 보안을 강화하기 위해 설정한 '채널 바인딩' 기능이 공격자에 의해 강제로 해제될 수 있는 문제입니다. 이로 인해 해커가 중간에서 통신 내용을 가로채거나 조작할 위험이 있습니다.

🇺🇸 원문 (English)

pgjdbc is an open source postgresql JDBC Driver. In releases 42.7.4 through 42.7.11, channelBinding=require connections can be silently downgraded from SCRAM-SHA-256-PLUS with channel binding to plain SCRAM-SHA-256 without it, losing the man-in-the-middle protection the setting is meant to guarantee. An attacker who can intercept the TLS connection can trigger the downgrade with a certificate whose signature algorithm has no tls-server-end-point channel-binding hash, because the bundled com.ongres.scram:scram-client returns an empty byte array instead of failing and pgJDBC ScramAuthenticator checks only that the server advertised a PLUS mechanism, without rejecting the empty binding or checking that the negotiated mechanism uses channel binding. This issue is fixed in version 42.7.12.

📍 영향받는 시스템

pgjdbc versions 42.7.4 through 42.7.11

⚔️ 공격 벡터

TLS 연결을 가로채는 중간자 공격(Man-in-the-Middle)을 통해 인증 메커니즘을 다운그레이드함

🛡️ 대응 방법

pgjdbc 버전을 42.7.12 이상으로 업데이트하십시오.

🔧 검증 코드

명령어 결과에 취약한 버전 범위(42.7.4~42.7.11)가 나타나면 해당 라이브러리가 설치되어 있는 상태입니다.

Shell / Script
mvn dependency:list | grep -E 'postgresql-jdbc|pgjdbc' | grep -E '42.7.[4-9]|42.7.1[0-1]'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N

💻 영향받는 소프트웨어

PostgreSQL