Description
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.
Product status
34b2021cc61642d61c3cf943d9e71925b827941b (git) before 30ce906557a21adef4cba5901c8e995dc18263a9
34b2021cc61642d61c3cf943d9e71925b827941b (git) before 1c30e4afc5507f0069cc09bd561e510e4d97fbf7
34b2021cc61642d61c3cf943d9e71925b827941b (git) before 942268e2726ac7f16e3ec49dbfbbbe7cf5af9da5
34b2021cc61642d61c3cf943d9e71925b827941b (git) before d946f3c98328171fa50ddb908593cf833587f725
5.12
Any version before 5.12
6.12.63 (semver)
6.17.13 (semver)
6.18.2 (semver)
6.19-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/30ce906557a21adef4cba5901c8e995dc18263a9
git.kernel.org/...c/1c30e4afc5507f0069cc09bd561e510e4d97fbf7
git.kernel.org/...c/942268e2726ac7f16e3ec49dbfbbbe7cf5af9da5
git.kernel.org/...c/d946f3c98328171fa50ddb908593cf833587f725
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.