关键信息摘要 漏洞概要 漏洞名称: pam_pkcs11 0.6.12 allows authentication bypass in error situations 发布日期: 2025-02-09 报告人: frankmorgner (GHSA-7mf6-rg36-ggch) 漏洞严重性: Critical 受影响的版本 包名称: pam_pkcs11.so 受影响版本: 0.6.12 已修复版本: None 漏洞描述 问题简述: pam_pkcs11在0.6.12版本中引入了安全问题,某些错误情况下允许绕过认证。 披露协调 协调披露: 依据披露政策进行协调披露,建议在Linux社区共享信息并设立7天的保留期。 漏洞发现的背景 背景: 使用YubiKey登录时发现了GDM (GNOME显示管理器) 登录设置上的行为变化。经进一步调查发现,某些情况下即使不输入密码或使用YubiKey也能登录。 漏洞详细分析 漏洞原因: 在GDM中处理智能卡登录逻辑时,由于pam_pkcs11模块在错误条件下返回了PAM_IGNORE,导致后续验证过程被绕过。 代码层面: pam_sm_authenticate()函数中设定的PAM_IGNORE返回路径在错误设置逻辑下允许了未认证的登录。 修复建议 临时解决方法: 建议在PAM配置中添加[success=ok default=bad]选项,将pam_pkcs11模块的任何非成功结果视为失败,以阻止认证绕过。 永久修复: 需要在源代码层面处理,确保pam_pkcs11在出错时能正确返回失败状态,从而阻止使用该模块的PAM认证栈绕过认证。 影响范围和其他分布情况 当前情况: 包括openSUSE在内的多个Linux发行版受此漏洞影响。 建议措施: 向Linux社区通告此问题,协调发布修复补丁。