OpenBSD多個嚴重認證繞過漏洞
OpenBSD是內置安全的開源操作系統。近期Qualys安全研究人員在OpenBSD中發現了多個高危安全漏洞,CVE編號為CVE-2019-19521,CVE-2019-19520,CVE-2019-19522,CVE-2019-19519。這4個漏洞分別是認證繞過和本地許可權提升漏洞。
CVE-2019-19521
CVE-2019-19521是一個認證繞過漏洞。該漏洞位於OpenBSD認證框架處理用戶通過smtpd, ldapd, radiusd, su, 或sshd服務登陸時提供的用戶名的方式中。
遠程攻擊者利用該漏洞可以成功訪問任意有漏洞的服務,只需要在用戶名中輸入"-schallenge" 或"-schallenge: passwd",然後輸入任意密碼,就會讓OpenBSD將-翻譯為命令行選項,而非用戶名。
OpenBSD的認證框架會將"-schallenge"翻譯為"-s challenge",這會讓系統忽略challenge協議,最終自動繞過認證過程。
如果攻擊者以-option的形式指定了用戶名,就可以以一種意外的方式影響認證程序的行為。由於sshd或su的深層防禦機制,該漏洞只可以在smtpd, ldapd, radiusd服務中被利用。但攻擊者仍然可以遠程利用該漏洞來確定OpenBSD系統是否受到CVE-2019-19521漏洞的影響。
本地許可權提升漏洞
其他3個漏洞,CVE-2019-19520,CVE-2019-19522,CVE-2019-19519都屬於本地許可權提升漏洞。攻擊者利用這3個漏洞可以讓本地用戶或者惡意軟體獲取auth組、root及其他許可權。
CVE-2019-19520
該漏洞是由於dlopen(), xlock使用的環境提供的路徑的誤處理導致的,而這兩個函數是OpenBSD默認安裝的,允許攻擊者提權到auth 組。
CVE-2019-19522
該漏洞是由於通過S/Key和YubiKey的認證機制中的不當操作導致的,S/Key和YubiKey並不在默認配置中。有auth組許可權的本地攻擊者可以獲取root用戶的所有許可權。
CVE-2019-19519
該漏洞是由於su主要函數中的一個邏輯錯誤,攻擊者利用該漏洞通過su的-L 選項可以獲取除root外的其他任意用戶的login類。
Qualys研究人員還發布了Poc漏洞利用代碼,見 https://www.qualys.com/2019/12/04/cve-2019-19521/authentication-vulnerabilities-openbsd.txt
目前這4個漏洞都有相應的補丁,研究人員建議用戶使用syspatch機制安裝補丁。
參考來源:https://thehackernews.com/2019/12/openbsd-authentication-vulnerability.html