OpenBSD身份验证绕过和权限提升漏洞

iso60001  1843天前

22.png

OpenBSD是一个以安全为目的而开发的开源操作系统,但近期却被曝出四个高危级别的漏洞,其中一个涉及BSD授权框架中的身份认证绕过。

其他三个漏洞和非法提权有关,可让本地用户或某些恶意软件获得某个组乃至root用户的权限。

这些漏洞是本周早些时候由Qualys Research Labs发现并报告的,在不到40小时之内,OpenBSD的开发人员就发布了针对OpenBSD 6.5OpenBSD 6.6的安全补丁。

下面简要说明一下这四个OpenBSD中的安全漏洞。

OpenBSD认证绕过(CVE-2019-19521)

身份验证绕过漏洞的根源在于OpenBSD身份验证框架解析用户名时的缺陷(可能涉及smtpd、ldapd、radiusd、su或sshd等登录服务)。

在利用这个漏洞时,远程攻击者若要登录某个服务,只需把用户名设为-schallenge-schallenge: passwd,密码随机即可。这是因为用户名之前的连字符(-)欺骗OpenBSD将后面的值解释为命令行选项,而不是用户名。

33.png

此时,OpenBSD的身份验证框架会将-schallenge解析为-s challenge,这会迫使系统默认忽略身份验证的挑战协议,最终导致身份验证绕过。

根据报告的说法,如果攻击者以-option的形式指定用户名,则程序的身份验证流程就会受到影响。

此外,研究人员还表示,这种漏洞在smtpd、ldapd和radiusd之类的服务中是可以利用的,但在sshd或su中则不行,因为它们的深度防御机制在成功绕过身份验证之后仍然会阻止连接。

不过,测试人员仍然可以利用sshd来测试OpenBSD系统是否存在这个漏洞。

OpenBSD权限提升

44.png

此次OpenBSD漏洞中的非法提权的简要解释如下:

  • CVE-2019-19520:由于dlopen()中对环境路径的使用不当,默认安装在OpenBSD上的xlock可让本地用户将权限提升到auth组。

  • CVE-2019-19522:由于对S/KeyYubiKey这两个非默认配置的授权机制的错误使用,具有auth组权限的本地用户可以获得root用户的全部权限。

  • CVE-2019-19519:由于su的一个主要功能存在逻辑错误,本地用户可以利用su-L选项实现任何用户的登录类,通常不包括root。

Qualys的研究人员也在其报告中公布了每个漏洞的PoC

55.png

目前四个漏洞的补丁均已发布,建议受影响的OpenBSD用户通过syspatch机制进行修复。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://thehackernews.com/2019/12/openbsd-authentication-vulnerability.html

最新评论

昵称
邮箱
提交评论