安全研究人员发现,旨在提升 Linux 游戏体验的实用工具 InputPlumber 存在严重安全漏洞,可能允许本地攻击者劫持用户会话或导致系统崩溃。SUSE 安全团队发布报告指出,该工具在 SteamOS 等环境中的早期版本,由于其 D-Bus 服务身份验证机制存在缺陷,极易受到攻击。
这两个漏洞分别被标识为 CVE-2025-66005 和 CVE-2025-14338,其根源在于未能正确验证与 InputPlumber 的 D-Bus 系统服务进行交互的用户身份。由于 InputPlumber 本身以 root 权限运行,这一疏忽为攻击者提供了直接的权限提升途径。
这些问题是在 SUSE 的例行软件包审查中被发现的。InputPlumber 主要应用于 Linux 游戏领域,是 SteamOS 的一部分,它通过公开一个 D-Bus 系统服务来管理输入设备。然而,审查发现相关接口缺乏必要的安全锁。
报告明确指出:“我们审查的第一个版本的 InputPlumber 完全缺少客户端身份验证,因此我们拒绝了它。”
即便在后续版本中尝试加入 Polkit 身份验证机制,其实现依然存在缺陷。安全审查揭示,“Polkit 支持只是一个编译时功能……默认情况下处于禁用状态”。这意味着实际发布的二进制文件通常没有任何保护措施。此外,该实现还存在一个竞争条件漏洞 (CVE-2025-14338),该问题历史上与不安全地使用“unix-process”这一 Polkit 认证主体有关。
由于缺乏有效的身份验证,InputPlumber 的所有 D-Bus 方法都可视作对系统内的所有用户开放。这种过度暴露使得攻击者能够利用 CreateTargetDevice 和 CreateCompositeDevice 等方法发起危险攻击。
研究人员通过演示证明,攻击者可以创建虚拟键盘,并将按键操作注入到其他用户的活跃会话中。报告警告称:“系统中的任何用户都可以向活动的桌面会话或登录终端屏幕注入输入,这可能导致在当前登录用户的上下文中执行任意代码。” 这种攻击手段与 渗透测试 中常见的会话劫持技术有相似之处。
此外,CreateCompositeDevice 方法也可能被滥用。攻击者可以通过将其指向特权文件(如 root 用户的 bash 历史记录)作为配置文件路径,利用工具解析配置文件时的行为来探测文件是否存在或泄露其内容。研究人员指出:“该方法允许信息泄露,例如从 /root/.bash_history 文件中泄露信息。” 他们展示了错误消息如何被利用来泄露敏感文件的内容。
经过协调披露流程,上游开发者已经修复了这些漏洞。InputPlumber 版本 v0.69.0 通过默认启用 Polkit 授权,并切换到更安全的认证主体,从根本上解决了这些问题。
报告强烈建议用户立即升级相关软件。同时证实,“SteamOS 也发布了包含修复程序的新镜像版本 3.7.20”。对于 Linux 系统 管理员和游戏玩家而言,及时应用安全更新是防范此类本地权限提升风险的关键。
欲了解更多技术细节,可参考原始安全公告:https://security.opensuse.org/2026/01/09/inputplumber-lack-of-dbus-auth.html
对于开发者而言,此类案例突显了在设计与系统服务交互的接口时,严格的身份验证和授权机制的重要性。更多安全技术讨论与实践分享,欢迎访问 云栈社区 的相关板块进行交流。
|