漏洞概述 当PAM服务配置了 时, 会跳过所有本地检查,包括 检查。这意味着对于白名单服务, 会直接处理设备,无论会话是本地还是远程。这导致了XDMCP绕过漏洞。 影响范围 受影响的服务: 、 、 、 、 (显示管理器)、 (屏幕锁定器)、 、 、 、 。 攻击场景: - XDMCP(显示管理器):GDM、SDDM和LightDM都支持通过XDMCP进行远程X显示。如果用户启用了XDMCP,PAM服务名称是合法的(如 、 、 ),这些服务被白名单化, 检查永远不会执行, 会跳过所有远程检测。攻击者通过XDMCP进行认证时,不会受到 的本地性强制执行。 - 屏幕锁定器在远程桌面会话中: (和类似的锁定器)可以在VNC会话中运行。当屏幕锁定和解锁时,PAM服务是 ,这是白名单化的。VNC进程/端口检查在 中永远不会执行,因为 导致在运行任何这些检查之前提前返回。 修复方案 根本原因:白名单是基于“这些服务仅在本地使用”的假设设计的。这个假设在大多数部署中成立,但可以通过非默认配置(XDMCP)或服务本身的性质(VNC内的 )被违反。更深层的结构问题是 配置当前意味着“跳过所有本地性强制执行”,而不是“跳过PAM/TTY启发式但检查PAM_RHOST”。 建议修复: - 从 配置选项中解耦 检查。 应无条件设置,由远程守护进程(如sshd、XDMCP服务器)设置,不依赖于启发式方法——无论服务白名单条目如何,都应始终检查。只有 (TTY/VNC/udev检查)应被 抑制。 - 具体在 和 中: - 这将关闭XDMCP向量。 在VNC中的情况可能需要重新考虑是否属于白名单,因为VNC本身不设置 。 严重性 低-中:需要非默认XDMCP配置或VNC中的 使用模式。不会绕过USB设备检查本身——攻击者仍然需要有效的设备和密码。影响仅限于移除受影响服务的本地性强制执行层。