IPBUF安全漏洞报告
English
CVE-2026-29111 CVSS 5.5 中危

CVE-2026-29111 systemd本地拒绝服务漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-29111
漏洞类型
拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
systemd

相关标签

CVE-2026-29111systemd拒绝服务本地漏洞缓冲区溢出

漏洞概述

systemd在处理非特权IPC API调用时存在漏洞。攻击者可利用虚假数据触发断言导致系统冻结,在旧版本中可能引发栈覆盖。该漏洞始于v239版本,需本地低权限即可触发。

技术细节

该漏洞的核心在于systemd(作为PID 1运行)在处理特定的非特权IPC API调用时,缺乏对输入数据的充分校验。当本地低权限攻击者向该接口发送包含虚假数据(spurious data)的请求时,会触发异常行为。具体而言,在systemd v250及更新版本中,代码中的安全检查机制会触发断言,导致systemd进程直接终止或挂起,从而造成拒绝服务。然而,在v249及更旧的版本中,该安全检查并未有效地阻止异常,而是导致了严重的栈缓冲区覆盖。由于攻击者可以控制覆盖的内容,这在旧版本中可能进一步演变为代码执行或权限提升漏洞。该特性是在v239版本中引入的,因此之前的版本不受影响。目前官方已在多个分支版本中发布了修复补丁。

攻击链分析

STEP 1
步骤1
攻击者获取本地系统的低权限用户访问。
STEP 2
步骤2
攻击者识别目标系统运行的systemd版本在受影响范围内(v239至v259.1等)。
STEP 3
步骤3
攻击者构造包含虚假数据(spurious data)的IPC API调用请求。
STEP 4
步骤4
攻击者通过非特权进程向systemd (PID 1) 发送该恶意IPC调用。
STEP 5
步骤5
systemd处理该数据时触发断言或栈覆盖,导致系统冻结或崩溃。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# This is a conceptual PoC. The exact IPC interface and parameters required to # trigger the vulnerability depend on the specific implementation details of systemd. import dbus import sys def trigger_vulnerability(): try: # Connect to the system bus bus = dbus.SystemBus() # The vulnerable IPC call is likely part of the systemd manager interface # Note: The exact object path and interface name would need to be confirmed # via source code analysis of the specific vulnerable commit. systemd_object = bus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1') manager_interface = dbus.Interface(systemd_object, 'org.freedesktop.systemd1.Manager') # Construct spurious data # The vulnerability is triggered by specific malformed data in an unprivileged call spurious_data = "A" * 1000 # Example payload length # Attempt to invoke the vulnerable method # Replace 'VulnerableMethod' with the actual method name if known # manager_interface.VulnerableMethod(spurious_data) print("[+] Payload sent, check system status.") except dbus.exceptions.DBusException as e: print(f"[-] DBus Exception: {e}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": trigger_vulnerability()

影响范围

systemd v239 - v257.10
systemd v258.0 - v258.4
systemd v259.0 - v259.1

防御指南

临时缓解措施
目前无已知的变通方法,建议尽快应用官方发布的安全补丁进行修复。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表