🇰🇷 한글 설명
리눅스 커널의 rswitch 모듈 내 rswitch_poll() 함수에서 Use-After-Free 취약점이 발견되었습니다. skb 객체가 메모리에서 해제된 후 해당 객체의 길이를 참조하여 통계를 업데이트하려 할 때 발생합니다.
💡 쉬운 설명
컴퓨터가 이미 삭제한 데이터를 다시 사용하려고 시도할 때 발생하는 오류입니다. 공격자가 이 허점을 이용하면 시스템을 중단시키거나 보안을 무너뜨릴 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: rswitch: Avoid use-after-free in rswitch_poll()
The use-after-free is actually in rswitch_tx_free(), which is inlined in
rswitch_poll(). Since `skb` and `gq->skbs[gq->dirty]` are in fact the
same pointer, the skb is first freed using dev_kfree_skb_any(), then the
value in skb->len is used to update the interface statistics.
Let's move around the instructions to use skb->len before the skb is
freed.
This bug is trivial to reproduce using KFENCE. It will trigger a splat
every few packets. A simple ARP request or ICMP echo request is enough.
📍 영향받는 시스템
rswitch 모듈을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
ARP 요청이나 ICMP 에코 요청과 같은 단순한 네트워크 패킷 전송을 통해 트리거 가능
🛡️ 대응 방법
rswitch_tx_free() 함수 내에서 skb가 해제되기 전에 통계 업데이트를 수행하도록 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인