Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix linked reg delta tracking when src_reg == dst_reg Consider the case of rX += rX where src_reg and dst_reg are pointers to the same bpf_reg_state in adjust_reg_min_max_vals(). The latter first modifies the dst_reg in-place, and later in the delta tracking, the subsequent is_reg_const(src_reg)/reg_const_value(src_reg) reads the post-{add,sub} value instead of the original source. This is problematic since it sets an incorrect delta, which sync_linked_regs() then propagates to linked registers, thus creating a verifier-vs-runtime mismatch. Fix it by just skipping this corner case.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 before 1509c1ae9185ec7103899967ed788b6eebab3fcc; affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 before d88e8e4a3b52bd5b2ff3eceba4b29d1b5506d066; affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 before cc86a8b0a1c54d2bccf6f68cf49b82dea91b84de; affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 before d7f14173c0d5866c3cae759dee560ad1bed10d2e |
| Linux / Linux | affected 6.11; unaffected 0 before 6.11; unaffected 6.12.105 through 6.12.*; unaffected 6.18.33 through 6.18.*; unaffected 7.0.10 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/1509c1ae9185ec7103899967ed788b6eebab3fcc
- https://git.kernel.org/stable/c/d88e8e4a3b52bd5b2ff3eceba4b29d1b5506d066
- https://git.kernel.org/stable/c/cc86a8b0a1c54d2bccf6f68cf49b82dea91b84de
- https://git.kernel.org/stable/c/d7f14173c0d5866c3cae759dee560ad1bed10d2e
ADP enrichment
A flaw was found in the Linux kernel's Berkeley Packet Filter (BPF) subsystem. This vulnerability occurs due to incorrect delta tracking when source and destination registers are the same during register value adjustments. This can lead to a mismatch between the BPF verifier's analysis and the actual runtime behavior of BPF programs, potentially allowing a malicious BPF program to bypass security checks.
No English description supplied.
No references supplied.