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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-39885— ocfs2: fix recursive semaphore deadlock in fiemap call

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存在安全漏洞,该漏洞源于OCFS2文件系统中递归信号量死锁,可能导致文件系统挂起。

AI Predicted 7.8 Difficulty: Trivial EPSS 0.12% · P2

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux 00dc417fa3e763345b34ccb6034d72de76eea0a1< 16e518ca84dfe860c20a62f3615e14e8af0ace57 affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 7e1514bd44ef68007703c752c99ff7319f35bce6 affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< ef30404980e4c832ef9bba1b10c08f67fa77a9ec affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 36054554772f95d090eb45793faf6aa3c0254b02 affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 0709bc11b942870fc0a7be150e42aea42321093a affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 1d3c96547ee2ddeaddf8f19a3ef99ea06cc8115e affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 9efcb7a8b97310efed995397941a292cf89fa94f affected
00dc417fa3e763345b34ccb6034d72de76eea0a1< 04100f775c2ea501927f508f17ad824ad1f23c8d affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-39885

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
ocfs2: fix recursive semaphore deadlock in fiemap call
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive semaphore deadlock in fiemap call syzbot detected a OCFS2 hang due to a recursive semaphore on a FS_IOC_FIEMAP of the extent list on a specially crafted mmap file. context_switch kernel/sched/core.c:5357 [inline] __schedule+0x1798/0x4cc0 kernel/sched/core.c:6961 __schedule_loop kernel/sched/core.c:7043 [inline] schedule+0x165/0x360 kernel/sched/core.c:7058 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7115 rwsem_down_write_slowpath+0x872/0xfe0 kernel/locking/rwsem.c:1185 __down_write_common kernel/locking/rwsem.c:1317 [inline] __down_write kernel/locking/rwsem.c:1326 [inline] down_write+0x1ab/0x1f0 kernel/locking/rwsem.c:1591 ocfs2_page_mkwrite+0x2ff/0xc40 fs/ocfs2/mmap.c:142 do_page_mkwrite+0x14d/0x310 mm/memory.c:3361 wp_page_shared mm/memory.c:3762 [inline] do_wp_page+0x268d/0x5800 mm/memory.c:3981 handle_pte_fault mm/memory.c:6068 [inline] __handle_mm_fault+0x1033/0x5440 mm/memory.c:6195 handle_mm_fault+0x40a/0x8e0 mm/memory.c:6364 do_user_addr_fault+0x764/0x1390 arch/x86/mm/fault.c:1387 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x76/0xf0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0010:copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline] RIP: 0010:raw_copy_to_user arch/x86/include/asm/uaccess_64.h:147 [inline] RIP: 0010:_inline_copy_to_user include/linux/uaccess.h:197 [inline] RIP: 0010:_copy_to_user+0x85/0xb0 lib/usercopy.c:26 Code: e8 00 bc f7 fc 4d 39 fc 72 3d 4d 39 ec 77 38 e8 91 b9 f7 fc 4c 89 f7 89 de e8 47 25 5b fd 0f 01 cb 4c 89 ff 48 89 d9 4c 89 f6 <f3> a4 0f 1f 00 48 89 cb 0f 01 ca 48 89 d8 5b 41 5c 41 5d 41 5e 41 RSP: 0018:ffffc9000403f950 EFLAGS: 00050256 RAX: ffffffff84c7f101 RBX: 0000000000000038 RCX: 0000000000000038 RDX: 0000000000000000 RSI: ffffc9000403f9e0 RDI: 0000200000000060 RBP: ffffc9000403fa90 R08: ffffc9000403fa17 R09: 1ffff92000807f42 R10: dffffc0000000000 R11: fffff52000807f43 R12: 0000200000000098 R13: 00007ffffffff000 R14: ffffc9000403f9e0 R15: 0000200000000060 copy_to_user include/linux/uaccess.h:225 [inline] fiemap_fill_next_extent+0x1c0/0x390 fs/ioctl.c:145 ocfs2_fiemap+0x888/0xc90 fs/ocfs2/extent_map.c:806 ioctl_fiemap fs/ioctl.c:220 [inline] do_vfs_ioctl+0x1173/0x1430 fs/ioctl.c:532 __do_sys_ioctl fs/ioctl.c:596 [inline] __se_sys_ioctl+0x82/0x170 fs/ioctl.c:584 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f5f13850fd9 RSP: 002b:00007ffe3b3518b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000200000000000 RCX: 00007f5f13850fd9 RDX: 0000200000000040 RSI: 00000000c020660b RDI: 0000000000000004 RBP: 6165627472616568 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe3b3518f0 R13: 00007ffe3b351b18 R14: 431bde82d7b634db R15: 00007f5f1389a03b ocfs2_fiemap() takes a read lock of the ip_alloc_sem semaphore (since v2.6.22-527-g7307de80510a) and calls fiemap_fill_next_extent() to read the extent list of this running mmap executable. The user supplied buffer to hold the fiemap information page faults calling ocfs2_page_mkwrite() which will take a write lock (since v2.6.27-38-g00dc417fa3e7) of the same semaphore. This recursive semaphore will hold filesystem locks and causes a hang of the fileystem. The ip_alloc_sem protects the inode extent list and size. Release the read semphore before calling fiemap_fill_next_extent() in ocfs2_fiemap() and ocfs2_fiemap_inline(). This does an unnecessary semaphore lock/unlock on the last extent but simplifies the error path.
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存在安全漏洞,该漏洞源于OCFS2文件系统中递归信号量死锁,可能导致文件系统挂起。
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 00dc417fa3e763345b34ccb6034d72de76eea0a1 ~ 16e518ca84dfe860c20a62f3615e14e8af0ace57 -
Linux Linux 2.6.28 -

II. Public POCs for CVE-2025-39885

# 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-39885

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

Patches & Fixes for CVE-2025-39885 (3)

Same Patch Batch · Linux · 2025-09-23 · 21 CVEs total

CVE-2025-39880 9.8 CRITICAL libceph: fix invalid accesses to ceph_connection_v1_info
CVE-2025-39869 8.4 HIGH dmaengine: ti: edma: Fix memory allocation size for queue_priority_map
CVE-2025-39882 8.4 HIGH drm/mediatek: fix potential OF node use-after-free
CVE-2025-39888 7.8 HIGH fuse: Block access to folio overlimit
CVE-2025-39872 7.8 HIGH hsr: hold rcu and dev lock for hsr_get_port_ndev
CVE-2025-39873 7.8 HIGH can: xilinx_can: xcan_write_frame(): fix use-after-free of transmitted SKB
CVE-2025-39868 7.8 HIGH erofs: fix runtime warning on truncate_folio_batch_exceptionals()
CVE-2025-39881 7.8 HIGH kernfs: Fix UAF in polling when open file is released
CVE-2025-39879 ceph: always call ceph_shift_unused_folios_left()
CVE-2025-39887 tracing/osnoise: Fix null-ptr-deref in bitmap_parselist()
CVE-2025-39886 bpf: Tell memcg to use allow_spinning=false path in bpf_timer_init()
CVE-2025-39883 mm/memory-failure: fix VM_BUG_ON_PAGE(PagePoisoned(page)) when unpoison memory
CVE-2025-39884 btrfs: fix subvolume deletion lockup caused by inodes xarray race
CVE-2025-39878 ceph: fix crash after fscrypt_encrypt_pagecache_blocks() error
CVE-2025-39877 mm/damon/sysfs: fix use-after-free in state_show()
CVE-2025-39876 net: fec: Fix possible NPD in fec_enet_phy_reset_after_clk_enable()
CVE-2025-39874 macsec: sync features on RTM_NEWLINK
CVE-2025-39875 igb: Fix NULL pointer dereference in ethtool loopback test
CVE-2025-39871 dmaengine: idxd: Remove improper idxd_free
CVE-2025-39870 dmaengine: idxd: Fix double free in idxd_setup_wqs()

IV. Related Vulnerabilities

V. Comments for CVE-2025-39885

No comments yet


Leave a comment