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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-98256— Signal 执行函数竞争条件漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

在 Linux 内核中,以下漏洞已得到修复: 信号处理:防止 exec() 竞争条件 Hyunwoo 调试了以下 KASAN(内核地址 sanitization)使用后释放(UAF)崩溃信息: 事实证明,正如 Hyunwoo 所解释的,这种情况发生在非领导者线程执行 时: 在 之前调用 ,因此由针对领导者线程 ID(tid)创建的 定时器持有的 现在指向调用 的线程。 返回该线程,且在其上调用 成功。 如果定时器信号被阻塞,其 会保留在领导者进程的 (待处理信号队列)中。该定时器的下一次超时可能在 正在刷新队列时运

CVSS 7.8 · High EPSS 0.13% · P2

影响版本矩阵 8

厂商产品 版本范围状态
Linux Linux fb3bbcfe344e64a46574a638b051ffd78762c12d< 621c365739828900f32a0c1cdfe5387528a62176 affected
fb3bbcfe344e64a46574a638b051ffd78762c12d< 934bd95f1a6404dbb845951b823547abab05a649 affected
fb3bbcfe344e64a46574a638b051ffd78762c12d< d2710c8d938ae6a825a6463158e6e6f31eac792a affected
6.15 affected
< 6.15 unaffected
6.18.54≤ 6.18.* unaffected
7.2.8≤ 7.2.* unaffected
7.3-rc4≤ * unaffected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-98256 基础信息

漏洞信息

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

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

Vulnerability Title
signal: Prevent exec() race
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: signal: Prevent exec() race Hyunwoo debugged the following KASAN UAF splat: BUG: KASAN: slab-use-after-free in __send_signal_locked+0xb27/0xba0 Write of size 8 at addr ffff888007ed80c8 by task poc/79 ... Call Trace: __send_signal_locked+0xb27/0xba0 do_send_sig_info+0xa7/0x160 do_send_specific+0x76/0xa0 __x64_sys_tgkill+0x193/0x270 ... Allocated by task 80: do_timer_create+0x1a4/0x1030 __x64_sys_timer_create+0x145/0x190 ... Freed by task 12: kmem_cache_free_bulk+0x1f8/0x4a0 kvfree_rcu_bulk+0x14f/0x1c0 kfree_rcu_work+0x128/0x1a0 ... Last potentially related work creation: kvfree_call_rcu+0x39/0x390 __flush_itimer_signals+0x211/0x320 flush_itimer_signals+0x47/0x90 begin_new_exec+0xa6b/0x28c0 It turned out that this happens with a non-leader exec() as Hyunwoo explained: de_thread() calls exchange_tids() before release_task(leader), so the struct pid held by a SIGEV_THREAD_ID timer created against the leader's tid now points to the thread which called execve(). pid_task() returns that thread and lock_task_sighand() on it succeeds. If the timer signal is blocked, its sigqueue stays queued on the leader's task::pending. The next expiry of that timer can then run while release_task() flushes the queue. posixtimer_send_sigqueue() checks whether the sigqueue is already queued with a plain list_empty(), which only reads list_head::next. list_del_init() is not atomic and INIT_LIST_HEAD() stores list_head::next before list_head::prev, so the check can pass in between. list_add_tail() queues the entry on the task::pending of the live thread, and the list_head::prev store from the flush then overwrites the list_head::prev link that list_add_tail() has just set. __flush_itimer_signals() does not undo that either. With list_head::prev pointing at the entry itself, its list_del_init() only stores the same values again, so the entry is not removed from the list. It is still there after the last reference is dropped and the timer is freed by RCU, and the list_add_tail() of a later tgkill() follows that list_head::prev into the freed timer. This problem surfaced with the recent commit which moved the sigqueue flush out of the sighand lock held region. Hyonwoo proposed to fix this by using list_del_init_careful(), but that just papers over the problem. After some disucssions and various attempts to solve it, Eric pointed out that there is no reason to flush task::pending late in release_task() and it should be done in exit_signals() already. As nothing can collect and deliver signals which are queued in a dying task's pending queue, there is no reason to delay it further. But it has to be ensured that no signals can be queued into it after that point. exit_signals() sets PF_EXITING in task::flags, which can be used as an indicator for this. Cure it by: - Preventing signal queueing for task private signals (PIDTYPE_PID) when the task has PF_EXITING set in __send_signal_locked() and in posixtimer_send_sigqueue(). - Protecting the unlocked setting of PF_EXITING in exit_signals() for the task group empty and the group exit case with sighand lock - Flushing task::pending signals right there. Optimize that by moving the whole pending list to an on-stack list head under sighand lock and free the signals without the lock held. There has been quite some discussion about the lockless flush and the non-leader exec case on weakly ordered systems. The problem is that a third party which tries to send a posix timer signal relies on the PID lookup to find the target task and that lookup might result in the new leader when the signal was originaly directed to the old leader. In case that the signal was queued on the old leader then the lockless flush raised a concern over the following situation: old_leader new_leader third party A: flush_list() // list_del_in ---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

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux fb3bbcfe344e64a46574a638b051ffd78762c12d ~ 621c365739828900f32a0c1cdfe5387528a62176 -
Linux Linux 6.15 -

二、漏洞 CVE-2026-98256 的公开POC

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

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-98256 的情报信息

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

CVE-2026-98256 补丁与修复 (3)

同批安全公告 · Linux · 2026-10-06 · 共 208 条

CVE-2026-98323 9.8 CRITICAL RDMA/siw 分片头拷贝边界漏洞
CVE-2026-98365 9.8 CRITICAL RDMA/rxe mr_check_range() 整数溢出导致越界访问漏洞
CVE-2026-98282 8.8 HIGH PowerPC IOMMU iommu_tce_check_ioba 溢出验证修复
CVE-2026-98283 8.8 HIGH KVM: PPC Book3S HV tlbie_all_lpid 使用后释放漏洞
CVE-2026-98339 8.8 HIGH cfg80211 移除过时条目时过滤BSS类型漏洞
CVE-2026-98171 8.8 HIGH smb 客户端修复复合 PDU 中 next_buffer UAF 及 NextCommand 越界漏洞
CVE-2026-98261 8.1 HIGH CIFS 服务器 cifs_chan_skip_or_disable() 函数中的使用后释放漏洞
CVE-2026-98357 8.1 HIGH IB/isert 释放连接前等待控制PDU完成漏洞
CVE-2026-98239 8.1 HIGH lan743x 网卡 RX 校验和使用后释放漏洞
CVE-2026-98341 7.8 HIGH WiFi: cfg80211驱动扫描请求释放漏洞
CVE-2026-98324 7.8 HIGH DMA引擎 pxa 硬件描述符重复计数漏洞
CVE-2026-98320 7.8 HIGH netfilter flowtable 在流释放前持有 ct 引用漏洞
CVE-2026-98228 7.8 HIGH MIPS EQE4 系统内核配置错误
CVE-2026-98229 7.8 HIGH Linux内核xfrm安全路径重置前保存输入状态数据
CVE-2026-98318 7.8 HIGH SMB客户端修复相对原生符号链接目标验证漏洞
CVE-2026-98315 7.8 HIGH NTFS运行列表更新缺少锁保护
CVE-2026-98276 7.8 HIGH Linux 内核 sock_gettstamp 函数锁机制漏洞
CVE-2026-98258 7.8 HIGH Linux内核posix-cpu-timers释放过期列表定时器漏洞
CVE-2026-98260 7.8 HIGH exec 清理 POSIX 定时器漏洞
CVE-2026-98254 7.8 HIGH swiotlb 高内存页查找使用调整后的地址

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-98256

暂无评论


发表评论