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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38221— ext4: fix out of bounds punch offset

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于越界打孔偏移导致无效操作码。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.17% · P6

Possible ATT&CK Techniques 1 AI

T1068 · Exploitation for Privilege Escalation

Affected Version Matrix 7

VendorProduct Version RangeStatus
Linux Linux 33f61ecabb10098b63dad3b729552779379f900d< a4d60ba277ecd8a98c5a593cbc0ef2237c20a541 affected
982bf37da09d078570650b691d9084f43805a5de< 28b62cb58fd014338f5004170f2e3a35bf0af238 affected
982bf37da09d078570650b691d9084f43805a5de< b5e58bcd79625423487fa3ecba8e8411b5396327 affected
6.15 affected
< 6.15 unaffected
6.15.4≤ 6.15.* unaffected
6.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38221

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
ext4: fix out of bounds punch offset
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix out of bounds punch offset Punching a hole with a start offset that exceeds max_end is not permitted and will result in a negative length in the truncate_inode_partial_folio() function while truncating the page cache, potentially leading to undesirable consequences. A simple reproducer: truncate -s 9895604649994 /mnt/foo xfs_io -c "pwrite 8796093022208 4096" /mnt/foo xfs_io -c "fpunch 8796093022213 25769803777" /mnt/foo kernel BUG at include/linux/highmem.h:275! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 710 Comm: xfs_io Not tainted 6.15.0-rc3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:zero_user_segments.constprop.0+0xd7/0x110 RSP: 0018:ffffc90001cf3b38 EFLAGS: 00010287 RAX: 0000000000000005 RBX: ffffea0001485e40 RCX: 0000000000001000 RDX: 000000000040b000 RSI: 0000000000000005 RDI: 000000000040b000 RBP: 000000000040affb R08: ffff888000000000 R09: ffffea0000000000 R10: 0000000000000003 R11: 00000000fffc7fc5 R12: 0000000000000005 R13: 000000000040affb R14: ffffea0001485e40 R15: ffff888031cd3000 FS: 00007f4f63d0b780(0000) GS:ffff8880d337d000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000001ae0b038 CR3: 00000000536aa000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> truncate_inode_partial_folio+0x3dd/0x620 truncate_inode_pages_range+0x226/0x720 ? bdev_getblk+0x52/0x3e0 ? ext4_get_group_desc+0x78/0x150 ? crc32c_arch+0xfd/0x180 ? __ext4_get_inode_loc+0x18c/0x840 ? ext4_inode_csum+0x117/0x160 ? jbd2_journal_dirty_metadata+0x61/0x390 ? __ext4_handle_dirty_metadata+0xa0/0x2b0 ? kmem_cache_free+0x90/0x5a0 ? jbd2_journal_stop+0x1d5/0x550 ? __ext4_journal_stop+0x49/0x100 truncate_pagecache_range+0x50/0x80 ext4_truncate_page_cache_block_range+0x57/0x3a0 ext4_punch_hole+0x1fe/0x670 ext4_fallocate+0x792/0x17d0 ? __count_memcg_events+0x175/0x2a0 vfs_fallocate+0x121/0x560 ksys_fallocate+0x51/0xc0 __x64_sys_fallocate+0x24/0x40 x64_sys_call+0x18d2/0x4170 do_syscall_64+0xa7/0x220 entry_SYSCALL_64_after_hwframe+0x76/0x7e Fix this by filtering out cases where the punching start offset exceeds max_end.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于越界打孔偏移导致无效操作码。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux 33f61ecabb10098b63dad3b729552779379f900d ~ a4d60ba277ecd8a98c5a593cbc0ef2237c20a541 -
Linux Linux 6.15 -

II. Public POCs for CVE-2025-38221

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38221

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-07-04 · 59 CVEs total

CVE-2025-38209 9.8 CRITICAL nvme-tcp: remove tag set when second admin queue config fails
CVE-2025-38211 9.8 CRITICAL RDMA/iwcm: Fix use-after-free of work objects after cm_id destruction
CVE-2025-38174 8.8 HIGH thunderbolt: Do not double dequeue a configuration request
CVE-2025-38216 8.8 HIGH iommu/vt-d: Restore context entry setup order for aliased devices
CVE-2025-38233 7.8 HIGH powerpc64/ftrace: fix clobbered r15 during livepatching
CVE-2025-38230 7.8 HIGH jfs: validate AG parameters in dbMount() to prevent crashes
CVE-2025-38227 7.8 HIGH media: vidtv: Terminating the subsequent process of initialization failure
CVE-2025-38226 7.8 HIGH media: vivid: Change the siize of the composing
CVE-2025-38224 7.8 HIGH can: kvaser_pciefd: refine error prone echo_skb_max handling logic
CVE-2025-38218 7.8 HIGH f2fs: fix to do sanity check on sit_bitmap_size
CVE-2025-38232 7.8 HIGH NFSD: fix race between nfsd registration and exports_proc
CVE-2025-38212 7.8 HIGH ipc: fix to protect IPCS lookups using RCU
CVE-2025-38175 7.8 HIGH binder: fix yet another UAF in binder_devices
CVE-2025-38234 7.8 HIGH sched/rt: Fix race in push_rt_task
CVE-2025-38206 7.8 HIGH exfat: fix double free in delayed_free
CVE-2025-38204 7.8 HIGH jfs: fix array-index-out-of-bounds read in add_missing_indices
CVE-2025-38192 7.8 HIGH net: clear the dst when changing skb protocol
CVE-2025-38187 7.8 HIGH drm/nouveau: fix a use-after-free in r535_gsp_rpc_push()
CVE-2025-38184 7.8 HIGH tipc: fix null-ptr-deref when acquiring remote ip of ethernet bearer
CVE-2025-38180 7.8 HIGH net: atm: fix /proc/net/atm/lec handling

Showing top 20 of 59 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38221

No comments yet


Leave a comment