說明
遠端主機受到 GLSA-202305-02 中所述的弱點影響 (Python,PyPy3:多個弱點)
- 在 Python (即 CPython) 3.10.8 和之前的所有版本中,mailcap 模組不會將逸出字元新增到在系統 mailcap 檔案中發現的命令中。這可能允許攻擊者將 shell 命令插入使用未受信任的輸入呼叫 mailcap.findmatch 的應用程式中 (若未驗證使用者提供的檔案名稱或引數) 。此修正也已反向移植至 3.7、 3.8、 3.9 (CVE-2015-20107)
- 在 openstack-nova 的主控台代理伺服器 noVNC 中發現一個弱點。透過特製惡意 URL,可讓 noVNC 重新導向至任何所需的 URL。(CVE-2021-3654)
- 在涉及 HTTPS 至 HTTPS Proxy 的某些情況下,早於 1.26.4 版本的 Python urllib3 程式庫 1.26.x 會省略驗證 SSL 憑證。HTTPS Proxy 的初始連線 (若未透過 proxy_config 提供 SSLContext) 不會驗證憑證的主機名稱。這表示系統將接受仍可使用預設 urllib3 SSLContext 執行正確驗證的不同伺服器的憑證。
(CVE-2021-28363)
- ** 有爭議 ** Python 3.x 到 3.10 版的 lib/http/server.py 中存在開放重新導向弱點,這是因為在 URI 路徑的開頭沒有針對多個 (/) 的保護機制,而這可能會導致資訊洩漏。
注意:第三方對此存有爭議,因為 http.server.html 文件頁面指出警告:
不建議將 http.server 用於生產環境,它僅實作基本的安全性檢查。(CVE-2021-28861)
- 在 Python G263.9.5 之前的版本中,ipaddress 程式庫未正確處理 IP 位址字串八位元中的前置零字元。在某些情況下,攻擊者可利用此問題繞過以 IP 位址為基礎的存取控制。(CVE-2021-29921)
- 在 Python 中發現一個缺陷,尤其是在 urllib.parse 模組中。此模組有助於將統一資源定位器 (URL) 字串分解為多個元件。此問題涉及如何讓 urlparse 方法不審查輸入,以及如何在 URL 路徑中允許「\r」和「\n」等字元。此缺陷允許攻擊者輸入建構的 URL,進而導致插入攻擊。此缺陷會影響 Python 3.10.0b1、3.9.5、3.8.11、3.7.11 和 3.6.14 之前的版本。(CVE-2022-0391)
- 在 fdc6fef 之前的 Keccak XKCP SHA-3 參照實作中發現整數溢位問題和由此產生的緩衝區溢位,攻擊者可以藉此執行任意程式碼或消除預期的密碼編譯屬性。
這問題發生在 sponge 函式介面中。(CVE-2022-37454)
- Linux 主機上 3.9.16 之前的 Python 3.9.x 版和 3.10.9 之前的 3.10.x 版允許使用者在非預設組態中提升本機權限。在 Linux 上與 forkserver 啟動方法結合使用時,Python 多處理庫允許從同一計算機中本機網路命名空間中的任何使用者還原序列化 pickles,這在許多系統組態中是指同一計算機上的任何使用者。Pickles 可執行任意程式碼。
因此,這允許將本機使用者權限提升為執行任何 forkserver 處理程序的使用者。將 multiprocessing.util.abstract_sockets_supported 設為 False 是一種因應措施。用於多重處理的 forkserver 啟動方法不是預設的啟動方法。此問題是 Linux 系統所特有,因為只有 Linux 支援抽象命名空間通訊端。 3.9 版之前的 CPython 預設為不使用 Linux 抽象命名空間通訊端。在 3.7.8 和 3.8.3 版中,新增了對使用者手動指定抽象命名空間通訊端的支援,但在 3.9 之前的 CPython 中,使用者需要進行特定的非常見 API 呼叫才能做到這樣。(CVE-2022-42919)
- 在 Python 3.11.1 之前版本中發現一個問題。處理 IDNA (RFC 3490) 解碼器的部分輸入時,一個路徑中存在不必要的二次方演算法,如此一來,向解碼器顯示特製的過長名稱可導致 CPU 拒絕服務。主機名稱通常由遠端伺服器提供,而伺服器可能被惡意使用者控制,在這種情況下,他們可在嘗試使用攻擊者提供的假想主機名稱的用戶端上觸發 CPU 過度消耗。
例如,可以在狀態碼為 302 的 HTTP 回應的 Location 標頭中放置攻擊承載。計劃在 3.11.1、3.10.9、3.9.16、3.8.16 和 3.7.16 中進行修正。(CVE-2022-45061)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
所有 Python 3.8 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/python-3.8.15_p3: 3.8 所有 Python 3.9 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/python-3.9.15_p3: 3.9 所有 Python 3.10 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/python-3.10.8_p3: 3.10 所有 Python 3.11 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/python-3.11.0_p2: 3.11 所有 Python 3.12 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/python-3.12.0_alpha1_p2 所有 PyPy3 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=dev-python/pypy3-7.3.9_p9
Plugin 詳細資訊
檔案名稱: gentoo_GLSA-202305-02.nasl
支援的感應器: Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:S/C:P/I:C/A:P
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
時間媒介: CVSS:3.0/E:F/RL:O/RC:C
弱點資訊
CPE: p-cpe:/a:gentoo:linux:pypy3, p-cpe:/a:gentoo:linux:python, cpe:/o:gentoo:linux
必要的 KB 項目: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list
可輕鬆利用: Exploits are available