Cloudanix VulnDB

CVE-2025-68363

None

CVSS

—

EPSS

0.2%

Published

Dec 24, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's network helper could let certain low-level programs read uninitialized data, leading to warnings or instability that administrators must fix by updating the kernel.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Other
Component
OS kernel
Class
Improper Input Validation
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

The bpf_skb_check_mtu helper dereferences skb->transport_header without first verifying it was initialized via skb_transport_header_was_set when the BPF_MTU_CHK_SEGS flag is supplied, allowing use of an unset header offset under specific GSO and test-run conditions.

Why it matters to the business

Systems running BPF programs that perform MTU segment checks may trigger kernel warnings or unexpected behavior during network processing or testing, increasing operational noise and potential for instability on unpatched kernels; high downstream kernel prevalence amplifies exposure across container and orchestration environments.

How an attack unfolds

An attacker loads or triggers a BPF program that invokes bpf_skb_check_mtu with the BPF_MTU_CHK_SEGS flag on an skb lacking a transport header (possible via crafted packets or test-run paths), causing the helper to access an invalid offset and hit the debug warning path.

How to fix it

Upgrade the Linux kernel to a version containing commit b3171a5e4622e915e94599a55f4964078bdec27e or later; rebuild and redeploy any downstream packages such as argocd-image-updater that embed the affected kernel code.

How to confirm the fix worked

Confirm skb_transport_header_was_set is called before transport_header use in bpf_skb_check_mtu; run bpf_prog_test_run with DEBUG_NET enabled and GSO skbs to verify absence of the WARN_ON_ONCE; check kernel build contains the referenced commit.

Typical attack path

  1. Craft or obtain a BPF program using bpf_skb_check_mtu with BPF_MTU_CHK_SEGS
  2. Arrange for an ingress skb or test skb that has gso_size set but transport_header unset
  3. Load and attach the program or execute via bpf_prog_test_run_skb
  4. Trigger packet processing that reaches the unchecked header access

How to detect it

Search kernel logs for the specific WARN_ON_ONCE in skb_gso_validate_network_len called from bpf_skb_check_mtu during bpf_test_run; inspect BPF program load and attach events around the time of the warning.

What your security team should do

  • Prioritize kernel upgrades on all systems exposing BPF to untrusted programs or using network MTU helpers
  • Monitor EPSS trend and re-evaluate if exploit maturity increases
  • Audit custom BPF programs for use of BPF_MTU_CHK_SEGS and add defensive header checks where possible
  • Test patched kernels under bpf_prog_test_run and production traffic before broad rollout

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 5.12.0 6.1.160
Linux Kernel 5.12.0 6.12.63
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.9.1.160000.2.6
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.9.1
openSUSE:Tumbleweed kernel-source 0 6.18.5-1.1
openSUSE:Tumbleweed kernel-source-longterm 0 6.18.16-1.1

Related vulnerabilities