🇰🇷 한글 설명
QUIC 프로세스가 QUIC 패킷 버퍼를 필요 이상으로 오랫동안 메모리에 유지할 수 있는 취약점입니다. 공격자가 악의적으로 조작된 패킷을 전송하면 로컬 QUIC 스택이 패킷 버퍼를 해제하지 못하게 하여 과도한 메모리 할당을 유도할 수 있습니다.
💡 쉬운 설명
상대방이 특수한 데이터를 보내서 내 컴퓨터의 메모리를 계속 붙잡아 두게 만드는 공격입니다. 이로 인해 컴퓨터의 메모리가 부족해져 시스템이 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
Issue summary: QUIC process may keep memory for QUIC packet
buffer for much longer period than necessary.
Impact summary: Remote peer can exploit this vulnerability
by sending maliciously crafted packets, making the local
QUIC stack to keep the memory for packet buffers allocated.
The time for which the memory remains allocated is entirely
under the control of the potentially malicious remote peer.
CWE: CWE-770: Allocation of Resources Without Limits or Throttling
Description: To save copy operation from the packet buffer to the
stream reassemble buffer the QUIC stack leaves the stream data
on the packet buffer waiting to be copied to a buffer provided
by the local receiving application. The QUIC stack releases
a reference to the packet buffer only after the data are copied
to the application buffer. This design is more efficient for
legitimate data transfers but enables an attacker to allocate a lot
more memory than actually required by the data kept in the receiving
stream buffer.
To mitigate the vulnerability, the QUIC stack now calculates
and monitors memory overhead for every stream. The memory overhead
for a single stream frame is calculated as a difference between the
size of the whole packet that carries the stream frame and the size
of the stream frame itself. The memory overhead for a single stream
frame is added to the total (cumulative) memory overhead QUIC stack
keeps for each stream. Once the cumulative memory overhead exceeds
64kB, the QUIC stack moves the stream frame data from the packet
buffer to the stream buffer, starting with the next packet received.
FIPS impact: no
The FIPS module is not affected as the QUIC implementation is outside of
the OpenSSL FIPS module boundary.
📍 영향받는 시스템
QUIC 프로토콜을 사용하는 네트워크 스택 및 관련 라이브러리
⚔️ 공격 벡터
악의적으로 조작된 QUIC 패킷을 전송하여 메모리 해제를 지연시킴
🛡️ 대응 방법
스트림별 메모리 오버헤드를 모니터링하고 64kB 초과 시 데이터를 스트림 버퍼로 이동하도록 패치 적용
🔧 검증 코드
명령어 결과에서 사용 중인 QUIC 구현체 버전이 보안 패치가 적용된 최신 버전인지 확인하십시오.
openssl version -a 2>/dev/null | grep -i 'quic'