修正済みの古い脆弱性が再び問題を引き起こす場合がある。Linuxカーネルのローカル特権昇格の脆弱性「CVE-2017-1000253」もその一例だ。
これは、Linuxカーネルが「Executable and Linkable Format」(ELF)実行ファイルを読み込む仕組みに関連する問題だ。ELFアプリケーションが位置独立実行形式(PIE)として構築されている場合、ローダにより、アプリケーションのデータセグメントの一部がスタック用に確保されているメモリ領域にマッピングされる可能性がある。それが原因でメモリが破損し、通常なら特権を持たないローカルユーザーが、より高いレベルのユーザー特権を手に入れてしまうおそれがある。
セキュリティの企業のQualysがこの脆弱性を悪用する方法を考え出した。このセキュリティホールは複雑に聞こえるかもしれないが、悪用するのは比較的簡単である。普通のユーザーがスーパーユーザー特権を手に入れてしまうおそれがあるため、潜在的なリスクは非常に大きい。
この脆弱性とフィックスは実は新しいものではない。この脆弱性は2015年、GoogleのソフトウェアエンジニアのMichael Davidson氏によって最初に発見され、Linuxカーネル4.0で修正された。正確に言うと、Davidson氏は米国時間2015年4月14日に公開されたパッチによって、このカーネルバグを修正した。
小さなバグと思われたこの脆弱性が悪用される恐れがあるとは、当時Davidson氏も含めて誰も考えていなかった。
2年以上前に修正されたバグがなぜ問題なのかと不思議に思っている人もいるかもしれない。
問題なのは、このバグがLinuxの長期サポート(LTS)版に存在したことだ。LTS版はサーバ向けのLinuxディストリビューションで使われることが多い。Qualysによると、「『CentOS 7』の1708(2017年9月13日にリリース)より前の全バージョン、『Red Hat Enterprise Linux 7』の7.4(2017年8月1日にリリース)より前の全バージョン、『CentOS 6』と『Red Hat Enterprise Linux 6』の全バージョンが悪用可能」だという。このバグは、「Debian」ベースのLinuxディストリビューションにも存在する。
共通脆弱性評価システムバージョン3(CVSS v3.0)でスコアは7.8となっており、システム管理者はできるだけ早くパッチを適用する必要がある。主要なLinuxディストリビューションは、この脆弱性が発表される前に認識しているため、システム管理者は通常のパッケージ管理プログラムでカーネルにパッチを適用する、あるいはパッチが当てられたカーネルをインストールし、再起動すればよい。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。