Python 緊急修復(fù)漏洞,攻擊者此前可遠(yuǎn)程代碼執(zhí)行漏洞

技術(shù)編輯:阿遂 Asui丨發(fā)自 思否編輯部
近日,Python 軟件基金會 (PSF) 緊急推出 Python 3.9.2 和 3.8.8 穩(wěn)定版,解決了兩個嚴(yán)重的安全缺陷,其中一個從理論上攻擊者可遠(yuǎn)程代碼執(zhí)行漏洞。
PSF 在最新的聲明中表示:“自從發(fā)布 3.9.2 和 3.8.8 的候選版本以來,由于安全方面的原因,我們收到了大量終端用戶的查詢督促,要求我們加快最終穩(wěn)定版本的發(fā)布速度?!?/span>
PSF 在聲明中指出,發(fā)布候選版本中包含兩個安全修復(fù)方案:CVE-2021-3177 和 CVE-2021-23336。
修復(fù)的漏洞具體的原因在于,Python 3.x 到 3.9.1 的 ctypes/callproc.c 中 PyCArg_repr 有緩沖溢出,這可能導(dǎo)致遠(yuǎn)程代碼執(zhí)行。它會影響“接受浮點(diǎn)數(shù)作為不受信任的輸入的 Python 應(yīng)用程序,如 c_double.from_param 的 1e300 參數(shù)所示”。
發(fā)生該錯誤是原因,是因?yàn)椴话踩厥褂昧恕皊printf”。影響之所以廣泛,是因?yàn)?Python 已將其預(yù)先安裝到了多個 Linux 發(fā)行版和 Windows 10 當(dāng)中。
但 PSF 也指出,雖然 CVE-2021-3177 被列為“遠(yuǎn)程代碼執(zhí)行”漏洞,但這類漏洞遭利用的可能性非常小,因?yàn)橐獙?shí)現(xiàn)成功的 RCE,必須滿足如下條件:
遠(yuǎn)程一方將不受信任的浮點(diǎn)數(shù)傳遞給 ctypes.c_double.from_param(注:Python 浮點(diǎn)數(shù)不受影響) 將該對象傳遞給repr() (例如通過 logging) 使該浮點(diǎn)數(shù)成為有效的機(jī)器代碼 使該緩沖區(qū)溢出漏洞在執(zhí)行代碼的地方覆寫棧。
部分參考資料來源:
官方聲明: https://blog.python.org/2021/02/python-392-and-388-are-now-available.html Python 新版下載地址: https://www.python.org/downloads/ https://www.zdnet.com/article/python-programming-language-hurries-out-update-to-tackle-remote-code-vulnerability/

評論
圖片
表情
