🇰🇷 한글 설명
Linux 커널의 netfilter flowtable에서 IPIP 터널과 direct xmit를 함께 사용할 때 dst_entry가 제공되지 않아 발생하는 취약점입니다. 이로 인해 잘못된 dst 사용이 발생하여 터널 전송 경로에서 시스템 크래시(Crash)를 유발할 수 있습니다. 이를 해결하기 위해 dst_cache와 dst_cookie를 공유 가능한 구조로 변경하여 경로를 수정했습니다.
💡 쉬운 설명
네트워크 터널링 기술을 사용할 때 특정 설정이 겹치면 컴퓨터 시스템이 갑자기 멈추거나 꺼질 수 있는 오류입니다. 시스템이 네트워크 데이터를 처리하는 과정에서 필요한 정보를 찾지 못해 발생하는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: flowtable: support IPIP tunnel with direct xmit
The combination of IPIP tunnel with direct xmit, eg. bridge device,
breaks because no dst_entry is provided to check the skb headroom and to
set the iph->frag_off field. This leads to invalid dst usage and can
trigger a crash in the tunnel transmit path.
Fix this by moving dst_cache and dst_cookie out of the runtime union so
that they can be shared by neighbour, xfrm, and direct tunnel flows.
For FLOW_OFFLOAD_XMIT_DIRECT tuples carrying tunnel metadata, preserve
route state in these shared fields and release it through the common
dst release path.
Since dst_entry is now available to the three supported xmit modes and
dst_release() already deals with NULL dst, remove the xmit type check
in nft_flow_dst_release(). Moreover, skip the check if the dst entry
is NULL in nf_flow_dst_check() which is now the case for the direct
xmit case.
Based on patch from Rein Wei <
[email protected]>.
📍 영향받는 시스템
IPIP 터널과 direct xmit(예: bridge device)를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷을 IPIP 터널 및 bridge 환경으로 전송하여 커널 크래시 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인