🇰🇷 한글 설명
Cloudflare quiche 라이브러리에서 핸드셰이크 이후 클라이언트 마이그레이션 이벤트가 제한 없이 큐에 쌓여 메모리 자원이 고갈되는 취약점이 발견되었습니다. RFC 9000의 보호 메커니즘에도 불구하고 PathEvent 수집 과정이 제한되지 않아 발생합니다.
💡 쉬운 설명
네트워크 연결이 바뀔 때 발생하는 기록들이 메모리에 무한정 쌓여 서버가 멈출 수 있는 문제입니다. 공격자가 의도적으로 연결 경로를 빠르게 변경하여 서버의 메모리를 가득 채울 수 있습니다.
🇺🇸 원문 (English)
Summary
Cloudflare quiche was discovered to be vulnerable to memory resource exhaustion due to unbounded queuing of post-handshake client migration events.
Impact
quiche supports the connection migration features described in Section 9 of RFC 9000, which allows a single QUIC connection to survive changes in the network path. Although quiche implements the protections described in Section 9.3 of RFC 9000 to limit server state commitment, it was discovered that the collection of PathEvents, intended to be consumed by applications via the path_event_next() function, was not bounded.
Once the QUIC handshake completed, a peer could exploit rapid source address migration in order to cause unbounded queuing of the PathEvent::ReusedSourceConnectionId type. Servers are vulnerable even if active connection migration is disabled.
Mitigation:
*
Applications can call path_event_next() to drain the PathEvent collection, mitigating the attack.
*
Users are requested to upgrade to quiche 0.29.3 which is the earliest version that prevents excessive queueing of PathEvent::ReusedSourceConnectionId.
📍 영향받는 시스템
Cloudflare quiche 0.29.3 미만 버전
⚔️ 공격 벡터
핸드셰이크 완료 후 빠른 소스 주소 마이그레이션을 반복하여 PathEvent::ReusedSourceConnectionId를 무제한으로 생성
🛡️ 대응 방법
quiche 버전을 0.29.3 이상으로 업그레이드하거나 애플리케이션에서 path_event_next()를 호출하여 큐를 비워야 함
🔧 검증 코드
설치된 quiche 패키지의 버전을 확인하여 0.29.3 미만인지 체크합니다.
cargo pkgid | grep quiche || echo 'quiche not found'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server