Python 緊急修復漏洞,攻擊者此前可遠程代碼執行漏洞

Python-漏洞

近日,Python 軟件基金會 (PSF) 緊急推出 Python 3.9.2 和 3.8.8 穩定版,解決了兩個嚴重的安全缺陷,其中一個從理論上攻擊者可遠程代碼執行漏洞。html

PSF 在最新的聲明中表示:「自從發佈 3.9.2 和 3.8.8 的候選版本以來,因爲安全方面的緣由,咱們收到了大量終端用戶的查詢督促,要求咱們加快最終穩定版本的發佈速度。」python


PSF 在聲明中指出,發佈候選版本中包含兩個安全修復方案:CVE-2021-3177 和 CVE-2021-23336。segmentfault

修復的漏洞具體的緣由在於,Python 3.x 到 3.9.1 的 ctypes/callproc.c 中 PyCArg_repr 有緩衝溢出,這可能致使遠程代碼執行。它會影響「接受浮點數做爲不受信任的輸入的 Python 應用程序,如 c_double.from_param 的 1e300 參數所示」。安全

發生該錯誤是緣由,是由於不安全地使用了「sprintf」。影響之因此普遍,是由於 Python 已將其預先安裝到了多個 Linux 發行版和 Windows 10 當中。 spa

但 PSF 也指出,雖然 CVE-2021-3177 被列爲「遠程代碼執行」漏洞,但這類漏洞遭利用的可能性很是小,由於要實現成功的 RCE,必須知足以下條件:code

  • 遠程一方將不受信任的浮點數傳遞給 ctypes.c_double.from_param(注:Python 浮點數不受影響)
  • 將該對象傳遞給repr() (例如經過 logging)
  • 使該浮點數成爲有效的機器代碼
  • 使該緩衝區溢出漏洞在執行代碼的地方覆寫棧。

而 Red Hat 在評估該漏洞後,表示「最大的威脅是系統可用性」。htm

「能夠確定的是,經過惡意輸入形成拒絕服務也是一個嚴重的問題。」出於這一緣由。PSF 決定中止位漏洞修復版本提供發佈候選版本。同時也爲那些認爲發佈候選版本不夠的社區成員發佈了最終的 3.9.2 和 3.8.8 穩定版本。對象

部分參考資料來源:blog

segmentfault 思否

相關文章
相關標籤/搜索