Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-38591— bpf: Reject narrower access to pointer ctx fields

EPSS 0.01% · P2
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-38591

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
bpf: Reject narrower access to pointer ctx fields
Source: NVD (National Vulnerability Database)
Vulnerability 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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bpf模块在访问指针ctx字段时拒绝较窄的访问。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux f96da09473b52c09125cc9bf7d7d4576ae8229e0 ~ 7847c4140e06f6e87229faae22cc38525334c156 -
LinuxLinux 4.13 -

II. Public POCs for CVE-2025-38591

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38591

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-08-19 · 60 CVEs total

CVE-2025-38594iommu/vt-d: Fix UAF on sva unbind with pending IOPFs
CVE-2025-38614eventpoll: Fix semi-unbounded recursion
CVE-2025-38610powercap: dtpm_cpu: Fix NULL pointer dereference in get_pd_power_uw()
CVE-2025-38609PM / devfreq: Check governor before using governor->name
CVE-2025-38608bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls
CVE-2025-38612staging: fbtft: fix potential memory leak in fbtft_framebuffer_alloc()
CVE-2025-38598drm/amdgpu: fix use-after-free in amdgpu_userq_suspend+0x51a/0x5a0
CVE-2025-38597drm/rockchip: vop2: fail cleanly if missing a primary plane for a video-port
CVE-2025-38595xen: fix UAF in dmabuf_exp_from_pages()
CVE-2025-38596drm/panthor: Fix UAF in panthor_gem_create_with_handle() debugfs code
CVE-2025-38599wifi: mt76: mt7996: Fix possible OOB access in mt7996_tx()
CVE-2025-38593Bluetooth: hci_sync: fix double free in 'hci_discovery_filter_clear()'
CVE-2025-38592Bluetooth: hci_devcd_dump: fix out-of-bounds via dev_coredumpv
CVE-2025-38590net/mlx5e: Remove skb secpath if xfrm state is not found
CVE-2025-38589neighbour: Fix null-ptr-deref in neigh_flush_dev().
CVE-2025-38588ipv6: prevent infinite loop in rt6_nlmsg_size()
CVE-2025-38587ipv6: fix possible infinite loop in fib6_info_uses_dev()
CVE-2025-38586bpf, arm64: Fix fp initialization for exception boundary
CVE-2025-38585staging: media: atomisp: Fix stack buffer overflow in gmin_get_var_int()
CVE-2025-38584padata: Fix pd UAF once and for all

Showing top 20 of 60 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38591

No comments yet


Leave a comment