Skip to main content
← All vulnerabilities
CVE-2025-68363

bpf: Check skb->transport_header is set in bpf_skb_check_mtu

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.1.160, 6.6.120, 6.12.63, 6.17.13, 6.18.2
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: bpf: Check skb->transport_header is set in bpf_skb_check_mtu The bpf_skb_check_mtu helper needs to use skb->transport_header when the BPF_MTU_CHK_SEGS flag is used: bpf_skb_check_mtu(skb, ifindex, &mtu_len, 0, BPF_MTU_CHK_SEGS) The transport_header is not always set. There is a WARN_ON_ONCE report when CONFIG_DEBUG_NET is enabled + skb->gso_size is set + bpf_prog_test_run is used: WARNING: CPU: 1 PID: 2216 at ./include/linux/skbuff.h:3071 skb_gso_validate_network_len bpf_skb_check_mtu bpf_prog_3920e25740a41171_tc_chk_segs_flag # A test in the next patch bpf_test_run bpf_prog_test_run_skb For a normal ingress skb (not test_run), skb_reset_transport_header is performed but there is plan to avoid setting it as described in commit 2170a1f09148 ("net: no longer reset transport_header in __netif_receive_skb_core()"). This patch fixes the bpf helper by checking skb_transport_header_was_set(). The check is done just before skb->transport_header is used, to avoid breaking the existing bpf prog. The WARN_ON_ONCE is limited to bpf_prog_test_run, so targeting bpf-next.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in b3171a5e4622e915e94599a55f4964078bdec27e; From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in 97b876fa88322625228792cf7a5fd77531815a80; From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in 30ce906557a21adef4cba5901c8e995dc18263a9; From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in 1c30e4afc5507f0069cc09bd561e510e4d97fbf7; From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in 942268e2726ac7f16e3ec49dbfbbbe7cf5af9da5; From 34b2021cc61642d61c3cf943d9e71925b827941b · fixed in d946f3c98328171fa50ddb908593cf833587f725

  • Linux Linux

    5.12

  • KernelLinux

    From 5.12.0 · fixed in 6.1.160; From 6.2.0 · fixed in 6.6.120; From 6.7.0 · fixed in 6.12.63; From 6.13.0 · fixed in 6.17.13; From 6.18.0 · fixed in 6.18.2

References 6

git.kernel.org