Python 2.5.2以下に任意コード実行の脆弱性

Security 4月 22, 2008
(Last Updated On: 2008年4月22日)

CVE登録されているので私がコピー&ペーストするまでもないですが、予想通りにPythonの脆弱性が出てきました。

CVE-2008-1887

Overview

Python 2.5.2 and earlier allows context-dependent attackers to execute arbitrary code via multiple vectors that cause a negative size value to provided to the PyString_FromStringAndSize function, which allocates less memory than expected when assert() is disabled and triggers a buffer overflow.

Impact

CVSS Severity (version 2.0):
CVSS v2 Base score: 7.5 (High) (AV:N/AC:L/Au:N/C:P/I:P/A:P) (legend)
Impact Subscore: 6.4
Exploitability Subscore: 10.0

Access Vector: Network exploitable
Access Complexity: Low
Authentication: Not required to exploit
Impact Type: Provides unauthorized access, Allows partial confidentiality, integrity, and availability violation , Allows unauthorized disclosure of information , Allows disruption of service

こういう脆弱性にはSELinuxが役立ちます。
未知の脆弱性に対してはSELinuxなどが無いと守るのは難しいです。

SELinuxの効用はわざわざ書くほど事ではない、と思っていましたがMACにより未知の脆弱性に対する防御がある程度できる事を正しく理解されていない場合もあるようです。

SELlinuxなどを導入していれば任意コード実行が試みられても、auditログに記録されログ監視システムなどで攻撃を直ぐに検出できる可能性が高くなります。

サーバを守る側は多くのプログラムを安全に保つ事が要求されますが、サーバを攻撃する側はたった一つの致命的脆弱性か攻撃パスを見つければ良いだけです。サッカーのPK戦のゴールキーパーのように守る側の方が圧倒的に不利なゲームです。この不利なゲームを効果的に戦うにはSELinuxなどのフェイルセーフな仕組みが必要不可欠です。

ゴールに全面(任意コマンド実行攻撃の目標全て)に蓋をするくらいの効果はありませんが、ゴール面積の7割くらいに障害物を置くイメージに近いと思います。守りやすさは比べ物にならないです。

投稿者: yohgaki