Reference page — cumulative record through Sunday, October 4, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.
CVE-2025-38591
Linux Linux — bpf: Reject narrower access to pointer ctx fields
AV AC PR UI S C I A CVSS EPSS %ile KEV
L L L N U N N H 5.5 .0020 8.6 —
AFFECTED
Product Versions Fixed
Linux f96da09473b52c09125cc9bf7d7d4576ae8229e0 – —
Linux 4.13 – 5.10.249
TIMELINE
Apr 16 Reserved by Linux
Aug 19 Published (CNA: Linux)
Sep 14 ENRICHED — CVE-2025-38591 (Linux). Received CVSS 5.5 and CPE data from NVD.
Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject narrower access to pointer ctx fields
The following BPF program, simplified from a syzkaller repro, causes a
kernel warning:
r0 = *(u8 *)(r1 + 169);
exit;
With pointer field sk being at offset 168 in __sk_buff. This access is
detected as a narrower read in bpf_skb_is_valid_access because it
doesn't match offsetof(struct __sk_buff, sk). It is therefore allowed
and later proceeds to bpf_convert_ctx_access. Note that for the
"is_narrower_load" case in the convert_ctx_accesses(), the insn->off
is aligned, so the cnt may not be 0 because it matches the
offsetof(struct __sk_buff, sk) in the bpf_convert_ctx_access. However,
the target_size stays 0 and the verifier errors with a kernel warning:
verifier bug: error during ctx access conversion(1)
This patch fixes that to return a proper "invalid bpf_context access
off=X size=Y" error on the load instruction.
The same issue affects multiple other fields in context structures that
allow narrow access. Some other non-affected fields (for sk_msg,
sk_lookup, and sockopt) were also changed to use bpf_ctx_range_ptr for
consistency.
Note this syzkaller crash was reported in the "Closes" link below, which
used to be about a different bug, fixed in
commit fce7bd8e385a ("bpf/verifier: Handle BPF_LOAD_ACQ instructions
in insn_def_regno()"). Because syzbot somehow confused the two bugs,
the new crash and repro didn't get reported to the mailing list.
Lifecycle
Complete event history — 3 events, chronological
| Date | Event | Detail |
| April 16, 2025 | Reserved | Reserved by Linux |
| August 19, 2025 | Published | Published (CNA: Linux) |
| September 14, 2026 | ENRICHED | ENRICHED — CVE-2025-38591 (Linux). Received CVSS 5.5 and CPE data from NVD. |
Affected
Affected products and packages — 2 rows
| Vendor | Product / Package | Ecosystem | Version introduced | Fixed |
| Linux | Linux | — | f96da09473b52c09125cc9bf7d7d4576ae8229e0 | — |
| Linux | Linux | — | 4.13 | 5.10.249 |
About this page
This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2025-38591 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Sunday, October 4, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.