🇰🇷 한글 설명
Linux 커널의 Cortina 이더넷 드라이버에서 TOE/TSO 하드웨어 가속 기능이 비세그먼트 TCP 프레임을 제대로 처리하지 못해 발생하는 취약점입니다. 이로 인해 드라이버가 불안정해지며 시스템이 잠기거나 충돌(Crash)할 수 있습니다.
💡 쉬운 설명
네트워크 속도를 높여주는 하드웨어 기능이 특정 상황에서 제대로 작동하지 않아 컴퓨터가 멈추거나 꺼질 수 있는 문제입니다. 하드웨어 가속 기능을 모든 TCP 데이터에 적용하도록 수정하여 안정성을 높였습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: cortina: Use TOE/TSO on all TCP
It is desireable to push the hardware accelerator to also
process non-segmented TCP frames: we pass the skb->len
to the "TOE/TSO" offloader and it will handle them.
Without this quirk the driver becomes unstable and lock
up and and crash.
I do not know exactly why, but it is probably due to the
TOE (TCP offload engine) feature that is coupled with the
segmentation feature - it is not possible to turn one
part off and not the other, either both TOE and TSO are
active, or neither of them.
Not having the TOE part active seems detrimental, as if
that hardware feature is not really supposed to be turned
off.
The datasheet says:
"Based on packet parsing and TCP connection/NAT table
lookup results, the NetEngine puts the packets
belonging to the same TCP connection to the same queue
for the software to process. The NetEngine puts
incoming packets to the buffer or series of buffers
for a jumbo packet. With this hardware acceleration,
IP/TCP header parsing, checksum validation and
connection lookup are offloaded from the software
processing."
After numerous tests with the hardware locking up after
something between minutes and hours depending on load
using iperf3 I have concluded this is necessary to stabilize
the hardware.
📍 영향받는 시스템
Cortina 이더넷 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 네트워크 트래픽 패턴을 유도하여 드라이버의 불안정성을 유발하고 시스템 중단을 일으키는 서비스 거부(DoS) 공격 가능성
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 버전인지 확인하십시오.