OpenBSD是一个以安全为目的而开发的开源操作系统,但近期却被曝出四个高危级别的漏洞,其中一个涉及BSD授权框架中的身份认证绕过。
其他三个漏洞和非法提权有关,可让本地用户或某些恶意软件获得某个组乃至root用户的权限。
这些漏洞是本周早些时候由Qualys Research Labs发现并报告的,在不到40小时之内,OpenBSD的开发人员就发布了针对OpenBSD 6.5和OpenBSD 6.6的安全补丁。
下面简要说明一下这四个OpenBSD中的安全漏洞。
OpenBSD认证绕过(CVE-2019-19521)
身份验证绕过漏洞的根源在于OpenBSD身份验证框架解析用户名时的缺陷(可能涉及smtpd、ldapd、radiusd、su或sshd等登录服务)。
在利用这个漏洞时,远程攻击者若要登录某个服务,只需把用户名设为-schallenge
或-schallenge: passwd
,密码随机即可。这是因为用户名之前的连字符(-)欺骗OpenBSD将后面的值解释为命令行选项,而不是用户名。
此时,OpenBSD的身份验证框架会将-schallenge
解析为-s challenge
,这会迫使系统默认忽略身份验证的挑战协议,最终导致身份验证绕过。
根据报告的说法,如果攻击者以-option
的形式指定用户名,则程序的身份验证流程就会受到影响。
此外,研究人员还表示,这种漏洞在smtpd、ldapd和radiusd之类的服务中是可以利用的,但在sshd或su中则不行,因为它们的深度防御机制在成功绕过身份验证之后仍然会阻止连接。
不过,测试人员仍然可以利用sshd来测试OpenBSD系统是否存在这个漏洞。
OpenBSD权限提升
此次OpenBSD漏洞中的非法提权的简要解释如下:
-
CVE-2019-19520:由于dlopen()中对环境路径的使用不当,默认安装在OpenBSD上的xlock可让本地用户将权限提升到
auth
组。 -
CVE-2019-19522:由于对
S/Key
和YubiKey
这两个非默认配置的授权机制的错误使用,具有auth
组权限的本地用户可以获得root用户的全部权限。 -
CVE-2019-19519:由于
su
的一个主要功能存在逻辑错误,本地用户可以利用su
的-L
选项实现任何用户的登录类,通常不包括root。
Qualys的研究人员也在其报告中公布了每个漏洞的PoC。
目前四个漏洞的补丁均已发布,建议受影响的OpenBSD用户通过syspatch机制进行修复。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3323.html 来源:https://thehackernews.com/2019/12/openbsd-authentication-vulnerability.html
来源:freebuf.com 2019-12-06 17:05:48 by: 白帽汇
请登录后发表评论
注册