🇰🇷 한글 설명
Eclipse Vert.x의 vertx-pg-client 라이브러리에서 바이너리 배열 디코더가 서버가 선언한 32비트 크기 제한 없이 배열을 할당하는 취약점이 발견되었습니다. 악의적인 PostgreSQL 서버나 중간자 공격자가 비정상적으로 큰 배열 크기 값을 전송하면, 클라이언트가 과도한 메모리를 할당하려 시도하다 OutOfMemoryError와 함께 충돌할 수 있습니다.
💡 쉬운 설명
데이터베이스 서버가 가짜로 아주 큰 데이터 크기를 알려주면, 프로그램이 이를 처리하려다 메모리가 부족해져서 갑자기 꺼지는 문제입니다. 해커가 중간에서 데이터를 조작하거나 가짜 서버를 통해 시스템을 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], the binary array decoder in vertx-pg-client (DataTypeCodec.binaryDecodeArray) allocates a Java array sized by a server-declared 32-bit dimension count with no upper bound. A malicious or compromised PostgreSQL server, or an on-path attacker intercepting an unencrypted connection, can send a crafted DataRow message with an excessively large array dimension value, causing the client to attempt a multi-gigabyte heap allocation and crash with an OutOfMemoryError.
The impacted component is io.vertx:vertx-pg-client.
📍 영향받는 시스템
io.vertx:vertx-pg-client [4.0.0-4.5.34, 5.0.0-5.0.12, 5.1.0-5.1.9, 5.2.0]
⚔️ 공격 벡터
악의적인 PostgreSQL 서버 또는 암호화되지 않은 연결을 가로챈 중간자 공격(On-path attacker)
🛡️ 대응 방법
취약점이 해결된 최신 버전의 vertx-pg-client로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 vertx-pg-client의 버전을 확인하여 취약 범위에 해당하는지 체크합니다.
mvn dependency:list | grep vertx-pg-client