🇰🇷 한글 설명
Eclipse Vert.x의 Redis 클라이언트 RESP 파서가 서버가 선언한 배열 길이에 대해 상한선을 검증하지 않고 메모리를 미리 할당하는 취약점입니다. 공격자가 조작된 RESP 응답을 보내면 클라이언트가 과도한 힙 메모리 할당을 시도하게 되어 OutOfMemoryError가 발생하고, 이로 인해 이벤트 루프 스레드가 중단되어 서비스 거부(DoS) 상태가 됩니다.
💡 쉬운 설명
해커가 가짜 데이터를 보내 컴퓨터의 메모리를 한꺼번에 너무 많이 사용하게 만들어 프로그램을 강제로 종료시키는 공격입니다. 이로 인해 서비스가 멈추고 정상적인 이용이 불가능해질 수 있습니다.
🇺🇸 원문 (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 Vert.x Redis client RESP parser pre-allocates arrays to a length declared by the server without enforcing an upper bound. A malicious or compromised Redis server, or an attacker in a man-in-the-middle position, can send a crafted RESP response declaring an extremely large array, push, or attribute length, causing the client to attempt a massive heap allocation. The resulting OutOfMemoryError crashes the Vert.x event loop thread, denying service to all connections and verticles sharing that loop.
The impacted component is io.vertx:vertx-mysql-client.
📍 영향받는 시스템
Eclipse Vert.x [4.0.0-4.5.34, 5.0.0-5.0.12, 5.1.0-5.1.9, 5.2.0]
⚔️ 공격 벡터
악의적인 Redis 서버 또는 중간자 공격(MitM)을 통한 조작된 RESP 응답 전송
🛡️ 대응 방법
Vert.x를 취약점이 해결된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 사용 중인 Vert.x 관련 라이브러리의 버전이 취약 범위에 포함되는지 확인하십시오.
mvn dependency:tree | grep -E 'vertx-redis-client|vertx-mysql-client'