🇰🇷 한글 설명
리눅스 커널의 LWT(Lightweight Tunnel) 구현 중 BPF xmit ops의 반환 값 처리 오류로 인해 Use-After-Free 취약점이 발생합니다. 특정 상황에서 이미 해제된 skb(소켓 버퍼)가 네트워크 서브시스템으로 계속 전달되어 커널 충돌을 유발할 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 과정에서 이미 사용이 끝난 메모리 영역을 다시 사용하려고 시도하는 오류입니다. 이로 인해 컴퓨터 시스템이 갑자기 멈추거나 꺼지는 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
lwt: Fix return values of BPF xmit ops
BPF encap ops can return different types of positive values, such like
NET_RX_DROP, NET_XMIT_CN, NETDEV_TX_BUSY, and so on, from function
skb_do_redirect and bpf_lwt_xmit_reroute. At the xmit hook, such return
values would be treated implicitly as LWTUNNEL_XMIT_CONTINUE in
ip(6)_finish_output2. When this happens, skbs that have been freed would
continue to the neighbor subsystem, causing use-after-free bug and
kernel crashes.
To fix the incorrect behavior, skb_do_redirect return values can be
simply discarded, the same as tc-egress behavior. On the other hand,
bpf_lwt_xmit_reroute returns useful errors to local senders, e.g. PMTU
information. Thus convert its return values to avoid the conflict with
LWTUNNEL_XMIT_CONTINUE.
📍 영향받는 시스템
BPF 및 LWT 기능을 사용하는 취약한 버전의 Linux Kernel
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷을 전송하여 커널의 BPF xmit 경로를 트리거함
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인