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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-40096— drm/sched: Fix potential double free in drm_sched_job_add_resv_dependencies

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存在安全漏洞,该漏洞源于drm_sched_job_add_resv_dependencies函数中可能发生双重释放。

CVSS 7.8 · High EPSS 0.15% · P4

Possible ATT&CK Techniques 1 AI

T1211 · Exploitation for Stealth

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 963d0b3569354230f6e2c36a286ef270a8901878< 4c38a63ae12ecc9370a7678077bde2d61aa80e9c affected
963d0b3569354230f6e2c36a286ef270a8901878< 57239762aa90ad768dac055021f27705dae73344 affected
963d0b3569354230f6e2c36a286ef270a8901878< e5e3eb2aff92994ee81ce633f1c4e73bd4b87e11 affected
963d0b3569354230f6e2c36a286ef270a8901878< fdfb47e85af1e11ec822c82739dde2dd8dff5115 affected
963d0b3569354230f6e2c36a286ef270a8901878< 5801e65206b065b0b2af032f7f1eef222aa2fd83 affected
5.16 affected
< 5.16 unaffected
6.1.158≤ 6.1.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-40096

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
drm/sched: Fix potential double free in drm_sched_job_add_resv_dependencies
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix potential double free in drm_sched_job_add_resv_dependencies When adding dependencies with drm_sched_job_add_dependency(), that function consumes the fence reference both on success and failure, so in the latter case the dma_fence_put() on the error path (xarray failed to expand) is a double free. Interestingly this bug appears to have been present ever since commit ebd5f74255b9 ("drm/sched: Add dependency tracking"), since the code back then looked like this: drm_sched_job_add_implicit_dependencies(): ... for (i = 0; i < fence_count; i++) { ret = drm_sched_job_add_dependency(job, fences[i]); if (ret) break; } for (; i < fence_count; i++) dma_fence_put(fences[i]); Which means for the failing 'i' the dma_fence_put was already a double free. Possibly there were no users at that time, or the test cases were insufficient to hit it. The bug was then only noticed and fixed after commit 9c2ba265352a ("drm/scheduler: use new iterator in drm_sched_job_add_implicit_dependencies v2") landed, with its fixup of commit 4eaf02d6076c ("drm/scheduler: fix drm_sched_job_add_implicit_dependencies"). At that point it was a slightly different flavour of a double free, which commit 963d0b356935 ("drm/scheduler: fix drm_sched_job_add_implicit_dependencies harder") noticed and attempted to fix. But it only moved the double free from happening inside the drm_sched_job_add_dependency(), when releasing the reference not yet obtained, to the caller, when releasing the reference already released by the former in the failure case. As such it is not easy to identify the right target for the fixes tag so lets keep it simple and just continue the chain. While fixing we also improve the comment and explain the reason for taking the reference and not dropping it.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于drm_sched_job_add_resv_dependencies函数中可能发生双重释放。
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 963d0b3569354230f6e2c36a286ef270a8901878 ~ 4c38a63ae12ecc9370a7678077bde2d61aa80e9c -
Linux Linux 5.16 -

II. Public POCs for CVE-2025-40096

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

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

Patches & Fixes for CVE-2025-40096 (1)

Same Patch Batch · Linux · 2025-10-30 · 20 CVEs total

CVE-2025-40099 9.4 CRITICAL cifs: parse_dfs_referrals: prevent oob on malformed input
CVE-2025-40095 7.8 HIGH usb: gadget: f_rndis: Refactor bind path to use __free()
CVE-2025-40105 7.8 HIGH vfs: Don't leak disconnected dentries on umount
CVE-2025-40104 7.8 HIGH ixgbevf: fix mailbox API compatibility by negotiating supported features
CVE-2025-40094 7.8 HIGH usb: gadget: f_acm: Refactor bind path to use __free()
CVE-2025-40093 7.8 HIGH usb: gadget: f_ecm: Refactor bind path to use __free()
CVE-2025-40092 7.8 HIGH usb: gadget: f_ncm: Refactor bind path to use __free()
CVE-2025-40090 7.5 HIGH ksmbd: fix recursive locking in RPC handle list access
CVE-2025-40087 7.5 HIGH NFSD: Define a proc_layoutcommit for the FlexFiles layout type
CVE-2025-40088 7.1 HIGH hfsplus: fix slab-out-of-bounds read in hfsplus_strcasecmp()
CVE-2025-40091 ixgbe: fix too early devlink_free() in ixgbe_remove()
CVE-2025-40086 drm/xe: Don't allow evicting of BOs in same VM in array of VM binds
CVE-2025-40097 ALSA: hda: Fix missing pointer check in hda_component_manager_init function
CVE-2025-40098 ALSA: hda: cs35l41: Fix NULL pointer dereference in cs35l41_get_acpi_mute_state()
CVE-2025-40089 cxl/features: Add check for no entries in cxl_feature_info
CVE-2025-40101 btrfs: fix memory leaks when rejecting a non SINGLE data profile without an RST
CVE-2025-40100 btrfs: do not assert we found block group item when creating free space tree
CVE-2025-40102 KVM: arm64: Prevent access to vCPU events before init
CVE-2025-40103 smb: client: Fix refcount leak for cifs_sb_tlink

IV. Related Vulnerabilities

V. Comments for CVE-2025-40096

No comments yet


Leave a comment