CVE-2025-40169 bpf: Reject negative offsets for ALU ops
A flaw in the Linux kernel BPF verifier allowed negative offsets in ALU operations, potentially enabling malicious BPF programs to bypass validation and execute arbitrary code.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-40169?
CVE-2025-40169 is a high-severity vulnerability in Linux, published on 12 Nov 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject negative offsets for ALU ops
When verifying BPF programs, the check_alu_op() function validates instructions with ALU operations. The 'offset' field in these instructions is a signed 16-bit integer.
The existing check 'insn->off > 1' was intended to ensure the offset is either 0, or 1 for BPF_MOD/BPF_DIV. However, because 'insn->off' is signed, this check incorrectly accepts all negative values (e.g., -1).
This commit tightens the validation by changing the condition to '(insn->off != 0 && insn->off != 1)'. This ensures that any value other than the explicitly permitted 0 and 1 is rejected, hardening the verifier against malformed BPF programs.
Which versions are affected by CVE-2025-40169?
How do I fix CVE-2025-40169?
Apply the vendor's patch.
Is CVE-2025-40169 being exploited?
There is no known exploitation of CVE-2025-40169 in the wild and no public exploit code.
Sources
Also known as BELL-CVE-2025-40169, DEBIAN-CVE-2025-40169, GHSA-pfch-hqrr-v4q4, ROOT-OS-UBUNTU-2404-CVE-2025-40169, UBUNTU-CVE-2025-40169.