FireEye Mandiant已發(fā)布有關(guān)Oracle Solaris漏洞的詳細(xì)信息,該漏洞已由復(fù)雜的威脅參與者在攻擊中利用。
漏洞跟蹤為CVE-2020-14871,已在6月發(fā)現(xiàn),但僅在Oracle 2020年10月重要補(bǔ)丁更新中發(fā)布了此補(bǔ)丁。濫用該漏洞的威脅行動者(已被追蹤為UNC1945)至少已積極瞄準(zhǔn)Solaris系統(tǒng)兩年了。
零日漏洞是在可插入身份驗(yàn)證模塊(PAM)庫中發(fā)現(xiàn)的,該庫可在Solaris應(yīng)用程序中啟用用戶身份驗(yàn)證,同時為管理員提供配置身份驗(yàn)證參數(shù)的選項(xiàng)。
Mandiant解釋說,CVE-2020-14871是基于堆棧的緩沖區(qū)溢出,駐留在PAM的parse_user_name函數(shù)中,并在將長度大于PAM_MAX_RESP_SIZE(512字節(jié))的用戶名傳遞給該函數(shù)時觸發(fā)。該漏洞使未經(jīng)身份驗(yàn)證的攻擊者可以破壞Oracle Solaris系統(tǒng)。
“該漏洞可能已經(jīng)存在數(shù)十年了,一個可能的原因是,只有在應(yīng)用程序尚未將用戶名傳遞給PAM之前將其限制為較小的長度時,該漏洞才可被利用。面對網(wǎng)絡(luò)的軟件并不總是限制用戶名長度的一種情況出現(xiàn)在SSH服務(wù)器上,這就是我們發(fā)現(xiàn)的[EVILSUN]工具所使用的利用媒介。” Mandiant指出。
借助此錯誤,攻擊者可以針對SSH鍵盤交互式身份驗(yàn)證,利用SSH在客戶端和服務(wù)器上的PAM庫之間中繼提示和響應(yīng)。它支持兩因素和其他身份驗(yàn)證形式。
“通過操縱SSH客戶端設(shè)置來強(qiáng)制鍵盤交互式身份驗(yàn)證提示輸入用戶名,而不是通過常規(guī)方式發(fā)送用戶名,攻擊者還可以將無限制的輸入傳遞給PAM parse_user_name函數(shù),” Mandiant的安全研究人員解釋說。
研究人員提出了一種概念驗(yàn)證漏洞,旨在觸發(fā)該錯誤并使SSH服務(wù)器崩潰。在易受攻擊的服務(wù)器上,SSH客戶端會傳遞“身份驗(yàn)證失敗”消息,而無漏洞的客戶端會在接收到過長的用戶名時反復(fù)提示輸入用戶名。
Madiant說,易受攻擊的操作系統(tǒng)包括Solaris 9的某些發(fā)行版,Solaris 10,Solaris 11.0和Illumos的所有發(fā)行版(OpenIndiana 2020.04)。Oracle已發(fā)布了針對Solaris 10和11的補(bǔ)丁程序,但不再發(fā)布針對Solaris 9的補(bǔ)丁程序,不再支持該補(bǔ)丁程序。
在未修補(bǔ)的Solaris 11.1和更高版本的系統(tǒng)上,parse_user_name函數(shù)仍然易受攻擊,但是對PAM庫的某些更改導(dǎo)致用戶名在傳遞給易受攻擊的函數(shù)之前被截斷,從而阻止了通過SSH的利用。
Madiant解釋說:“如果parse_user_name函數(shù)在另一個上下文中可以訪問,則該漏洞可能變得可利用!
對于Solaris 9系統(tǒng)以及打補(bǔ)丁不方便的Solaris 10或11服務(wù)器,可以通過添加行ChallengeResponseAuthentication no和KbdInteractiveAuthentication no并重新啟動SSH服務(wù)器來修改/ etc / ssh / sshd_config文件,并將其重新啟動。
但是,這不能消除漏洞,并且如果攻擊者設(shè)法以任何方式設(shè)法達(dá)到parse_user_name函數(shù),則仍然有可能被利用。因此,建議采取的措施是安裝2020年10月重要補(bǔ)丁更新中包含的修補(bǔ)程序。