こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
11/07/2022にPython の脆弱性情報(Important: CVE-2022-42919)が公開されています。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
[過去関連リンク(最新5件)]
Python cryptographyパッケージの脆弱性情報(Moderate: CVE-2020-36242)
Pythonのhttp.clientの脆弱性情報(CVE-2020-26116)
Pythonのurllibの脆弱性情報(CVE-2020-8492)
Pythonのurllib2の脆弱性情報(Moderate: CVE-2019-18348)
CVSS/プライオリティ
CVE番号 | 影響するバージョン | リファレンス | Priority | CVSS3 Base Score | CVSS3 Basic Metrics |
---|---|---|---|---|---|
CVE-2022-42919 | Python 3.9, 3.10, 3.11.0rc2 | Linux specific local privilege escalation via the multiprocessing forkserver start method – CVE-2022-42919 | Red Hat: 9.3 | Red Hat: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42919
- Linux上での権限昇格の可能性
- Pythonのmultiprocessingライブラリで、Linux上でforkserverスタートメソッドが使われている場合、同じマシンのローカルネットワーク名前空間上の任意のユーザがPythonのpicklesを逆シリアライゼーション化できます。多くのシステムの設定では、同じマシン上の全てのユーザが可能です。Picklesは任意のコードを実行できます。従って、任意のローカルユーザがPython multiprocessingでforkserverを用いているプロセスが実行されているのであれば、権限を昇格することが可能です。
forkserverスタートメソッドはデフォルトのスタート方法ではありません。この問題はLinuxに限定された問題になります。
Python 3.7, 3.8に関しては問題は発生しません。
- 回避方法:Pythonのアプリケーションやライブラリコード上で
import multiprocessing.util multiprocessing.util.abstract_sockets_supported = False
を行うことで、デフォルトでの仕様をFalseにすることが出来ます。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debianhttps://security-tracker.debian.org/tracker/CVE-2022-42919
- Red Hat Enterprise Linux/CentOShttps://access.redhat.com/security/cve/CVE-2022-42919
- Ubuntuhttps://ubuntu.com/security/CVE-2022-42919
- SUSE/openSUSEhttps://www.suse.com/security/cve/CVE-2022-42919.html
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
日々のメモを更新しています。
セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。