🇰🇷 한글 설명
Linux 커널의 RTASE 드라이버에서 하드웨어 패킷 파싱 오류로 인해 TX(송신) 중단 현상이 발생하는 취약점입니다. 불완전한 IPv4, IPv6, TCP 또는 UDP 헤더를 가진 패킷이 전송될 때 하드웨어가 예상보다 많은 데이터를 요구하면서 시스템이 멈출 수 있습니다. 이를 해결하기 위해 드라이버 수준에서 비정상 패킷을 드롭하거나 데이터 길이를 패딩(Padding)하는 우회책이 적용되었습니다.
💡 쉬운 설명
네트워크 카드가 데이터를 보낼 때, 데이터 형식이 불완전하면 하드웨어가 혼란을 일으켜 전송 기능이 멈춰버리는 문제입니다. 특수하게 조작된 짧은 패킷을 보내면 컴퓨터의 네트워크 전송 기능이 마비될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
rtase: Workaround for TX hang caused by hardware packet parsing
The hardware performs packet parsing before packet transmission.
Parsing incomplete IPv4, IPv6, TCP, or UDP headers may trigger a TX
hang because the hardware parser expects additional protocol header
data that is not present in the packet.
The hardware performs additional PTP parsing on UDP packets identified
by destination ports 319/320 at the expected UDP destination port
offset.
If such a packet has transport data smaller than RTASE_MIN_PAD_LEN,
the hardware parser expects additional packet data and may trigger a
TX hang.
To avoid these hardware issues, the driver applies the following
workarounds.
Drop malformed packets that may trigger this hardware issue before
transmission.
For IPv4 non-initial fragments, the hardware does not check the
fragment offset before parsing the expected transport header location.
As a result, these packets are still subject to transport header
parsing even though they do not contain a transport header. If the
transport data is shorter than the minimum transport header required
by the hardware parser, pad the transport data to the minimum
transport header length required by the hardware parser. Packets that
also match the hardware PTP parsing conditions continue to follow the
corresponding workaround.
For IPv6 fragmented packets, neither of the above hardware issues
occurs because the hardware only continues packet parsing when the
IPv6 Base Header Next Header field directly indicates UDP. Packets
carrying a Fragment Header do not continue through the subsequent
packet parsing stages.
For packets identified for hardware PTP parsing, pad the transport
data so it reaches RTASE_MIN_PAD_LEN before transmission.
📍 영향받는 시스템
Linux kernel (RTASE driver 사용 시스템)
⚔️ 공격 벡터
특수하게 조작된 불완전한 헤더 또는 짧은 페이로드를 가진 UDP/PTP 패킷 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 RTASE 드라이버의 패딩 및 드롭 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux