🔍 CVE-2026-74665

9.1
CVSS Score
CRITICAL
2026-08-22
2026-10-14 13:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Generic XDP 구현에서 skb 길이 계산 오류로 인해 발생하는 취약점입니다. XDP 프로그램이 단편화된 데이터를 조정할 때 skb->len과 skb->data_len이 동기화되지 않아, 실제 데이터보다 더 많은 영역이 사용자 공간으로 복사될 수 있습니다.

💡 쉬운 설명

네트워크 데이터를 처리하는 과정에서 데이터의 실제 크기를 잘못 계산하여, 보안상 민감한 커널 메모리 정보가 외부로 유출될 수 있는 문제입니다. 이로 인해 공격자가 시스템의 중요한 정보를 훔쳐볼 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: fix skb length accounting after generic XDP frag adjustment Generic XDP exposes non-linear skb fragments through an xdp_buff. If an XDP program adjusts the fragment area, bpf_prog_run_generic_xdp() copies xdp_frags_size back to skb->data_len but leaves skb->len containing the old fragment contribution. After a fragment shrink, this makes skb_headlen() larger than the actual linear area. In the reproduced UDP receive path, __skb_datagram_iter() copied 1024 bytes past the actual linear tail to userspace, starting at struct skb_shared_info. The copied bytes included the affected skb's nr_frags, xdp_frags_size and a kernel pointer from skb_shinfo(skb)->frags[0]. Real packet data was displaced by the same amount and truncated at the end. Subtract the old data_len before replacing it and add the new data_len afterwards, keeping skb->len and skb->data_len synchronized. A 60000-byte UDP datagram on a veth pair with MTU 64000 was shortened by 1024 bytes from its fragment area. Before the fix, all 10 runs produced corrupted payloads. After the fix, all 10 runs matched the expected payload exactly.

📍 영향받는 시스템

Generic XDP를 사용하는 Linux 커널 버전

⚔️ 공격 벡터

조작된 UDP 패킷을 전송하여 커널의 skb 길이 계산 오류를 유도하고 메모리 정보를 탈취

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 보안 공지(CVE-2026-74665)와 대조하여 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

Linux Kernel