目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1336

100%

CVE-2024-26939— Linux kernel 安全漏洞

CVSS 7.8 · High EPSS 0.24% · P16

影响版本矩阵 10

厂商产品版本范围状态
LinuxLinuxd93939730347360db0afe6a4367451b6f84ab7b1< 704edc9252f4988ae1ad7dafa23d0db8d90d7190affected
d93939730347360db0afe6a4367451b6f84ab7b1< 5e3eb862df9f972ab677fb19e0d4b9b1be8db7b5affected
d93939730347360db0afe6a4367451b6f84ab7b1< 59b2626dd8c8a2e13f18054b3530e0c00073d79faffected
d93939730347360db0afe6a4367451b6f84ab7b1< 0e45882ca829b26b915162e8e86dbb1095768e9eaffected
5.19affected
< 5.19unaffected
6.1.88≤ 6.1.*unaffected
6.6.29≤ 6.6.*unaffected
… +2 条更多
获取后续新漏洞提醒登录后订阅

一、 漏洞 CVE-2024-26939 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
drm/i915/vma: Fix UAF on destroy against retire race
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: drm/i915/vma: Fix UAF on destroy against retire race Object debugging tools were sporadically reporting illegal attempts to free a still active i915 VMA object when parking a GT believed to be idle. [161.359441] ODEBUG: free active (active state 0) object: ffff88811643b958 object type: i915_active hint: __i915_vma_active+0x0/0x50 [i915] [161.360082] WARNING: CPU: 5 PID: 276 at lib/debugobjects.c:514 debug_print_object+0x80/0xb0 ... [161.360304] CPU: 5 PID: 276 Comm: kworker/5:2 Not tainted 6.5.0-rc1-CI_DRM_13375-g003f860e5577+ #1 [161.360314] Hardware name: Intel Corporation Rocket Lake Client Platform/RocketLake S UDIMM 6L RVP, BIOS RKLSFWI1.R00.3173.A03.2204210138 04/21/2022 [161.360322] Workqueue: i915-unordered __intel_wakeref_put_work [i915] [161.360592] RIP: 0010:debug_print_object+0x80/0xb0 ... [161.361347] debug_object_free+0xeb/0x110 [161.361362] i915_active_fini+0x14/0x130 [i915] [161.361866] release_references+0xfe/0x1f0 [i915] [161.362543] i915_vma_parked+0x1db/0x380 [i915] [161.363129] __gt_park+0x121/0x230 [i915] [161.363515] ____intel_wakeref_put_last+0x1f/0x70 [i915] That has been tracked down to be happening when another thread is deactivating the VMA inside __active_retire() helper, after the VMA's active counter has been already decremented to 0, but before deactivation of the VMA's object is reported to the object debugging tool. We could prevent from that race by serializing i915_active_fini() with __active_retire() via ref->tree_lock, but that wouldn't stop the VMA from being used, e.g. from __i915_vma_retire() called at the end of __active_retire(), after that VMA has been already freed by a concurrent i915_vma_destroy() on return from the i915_active_fini(). Then, we should rather fix the issue at the VMA level, not in i915_active. Since __i915_vma_parked() is called from __gt_park() on last put of the GT's wakeref, the issue could be addressed by holding the GT wakeref long enough for __active_retire() to complete before that wakeref is released and the GT parked. I believe the issue was introduced by commit d93939730347 ("drm/i915: Remove the vma refcount") which moved a call to i915_active_fini() from a dropped i915_vma_release(), called on last put of the removed VMA kref, to i915_vma_parked() processing path called on last put of a GT wakeref. However, its visibility to the object debugging tool was suppressed by a bug in i915_active that was fixed two weeks later with commit e92eb246feb9 ("drm/i915/active: Fix missing debug object activation"). A VMA associated with a request doesn't acquire a GT wakeref by itself. Instead, it depends on a wakeref held directly by the request's active intel_context for a GT associated with its VM, and indirectly on that intel_context's engine wakeref if the engine belongs to the same GT as the VMA's VM. Those wakerefs are released asynchronously to VMA deactivation. Fix the issue by getting a wakeref for the VMA's GT when activating it, and putting that wakeref only after the VMA is deactivated. However, exclude global GTT from that processing path, otherwise the GPU never goes idle. Since __i915_vma_retire() may be called from atomic contexts, use async variant of wakeref put. Also, to avoid circular locking dependency, take care of acquiring the wakeref before VM mutex when both are needed. v7: Add inline comments with justifications for: - using untracked variants of intel_gt_pm_get/put() (Nirmoy), - using async variant of _put(), - not getting the wakeref in case of a global GTT, - always getting the first wakeref outside vm->mutex. v6: Since __i915_vma_active/retire() callbacks are not serialized, storing a wakeref tracking handle inside struct i915_vma is not safe, and there is no other good place for that. Use untracked variants of intel_gt_pm_get/put_async(). v5: Replace "tile" with "GT" across commit description (Rodrigo), - ---truncated---
来源: 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
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于内存释放后重用。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商产品影响版本CPE订阅
LinuxLinux d93939730347360db0afe6a4367451b6f84ab7b1 ~ 704edc9252f4988ae1ad7dafa23d0db8d90d7190 -
LinuxLinux 5.19 -

二、漏洞 CVE-2024-26939 的公开POC

#POC 描述源链接神龙链接
AI 生成 POC高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2024-26939 的情报信息

登录查看更多情报信息。

CVE-2024-26939 其他参考 (4)

同批安全公告 · Linux · 2024-05-01 · 共 159 条

CVE-2024-273889.8 CRITICALLinux kernel 安全漏洞
CVE-2024-269539.8 CRITICALLinux kernel 安全漏洞
CVE-2024-269318.8 HIGHLinux kernel 安全漏洞
CVE-2024-270538.8 HIGHLinux kernel 安全漏洞
CVE-2024-269908.8 HIGHLinux kernel 安全漏洞
CVE-2024-269528.3 HIGHLinux kernel 安全漏洞
CVE-2024-270188.2 HIGHLinux kernel 安全漏洞
CVE-2024-269368.2 HIGHLinux kernel 安全漏洞
CVE-2024-269808.2 HIGHLinux kernel 安全漏洞
CVE-2024-269548.1 HIGHLinux kernel 安全漏洞
CVE-2024-269947.8 HIGHLinux kernel 安全漏洞
CVE-2024-269667.8 HIGHLinux kernel 安全漏洞
CVE-2024-269747.8 HIGHLinux kernel 安全漏洞
CVE-2024-269767.8 HIGHLinux kernel 安全漏洞
CVE-2024-270627.8 HIGHLinux kernel 安全漏洞
CVE-2024-270617.8 HIGHLinux kernel 安全漏洞
CVE-2024-269837.8 HIGHLinux kernel 安全漏洞
CVE-2024-270587.8 HIGHLinux kernel 安全漏洞
CVE-2024-270567.8 HIGHLinux kernel 安全漏洞
CVE-2024-270177.8 HIGHLinux kernel 安全漏洞

显示前 20 条,共 159 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-26939

暂无评论


发表评论