Ubuntu Linux impacted by decade-old ‘needrestart’ flaw that gives root
2024/11/20 BleepingComputer — Ubuntu Linux で使用される、needrestart ユーティリティに存在する、5件のローカル権限昇格 (LPE) の脆弱性が発見された。このユーティリティは、10年以上も前の、バージョン 21.04 で導入されたものだ。Qualys により、この5件の脆弱性 CVE-2024-48990/CVE-2024-48991/CVE-2024-48992/CVE-2024-10224/CVE-2024-11003 は発見されている。

2014年4月にリリースされた、needrestart バージョン 0.8 に混入した一連の脆弱性が、昨日のバージョン 3.8 で修正されたことになる。
Ubuntu Server などの Linux で多用される needrestart ユーティリティは、パッケージ更新後に再起動が必要なサービスを識別し、それらのサービスにより、共有ライブラリの最新バージョンが実行されるようにするものだ。
LPE の欠陥の概要
Qualys が発見した5つの欠陥を悪用する攻撃者は、脆弱な Linux システムにローカル・アクセスし、ユーザーの介入なしに権限を root へと昇格できる。一連の脆弱性に関する完全な情報は、別のテキスト・ファイルで公開されているが、概要は以下のとおりである。
CVE-2024-48990:needrestart では、実行中のプロセスから抽出された PYTHONPATH 環境変数を使用して、Python インタープリターが実行される。ローカルの攻撃者が、この変数の制御を達成する場合には、悪意の共有ライブラリを植え付けることで、Python の初期化中に任意のコードを root として実行できる。
CVE-2024-48992:needrestart で使用される Ruby インタープリターは、RUBYLIB 環境変数を処理する際に脆弱であり、攻撃者による制御を許しやすい。それにより、ローカルの攻撃者は、プロセスに悪意のライブラリを挿入し、任意の Ruby コードを root として実行できる。
CVE-2024-48991:needrestart の競合状態を悪用するローカルの攻撃者は、検証中の Python インタープリター バイナリを、悪意の実行可能ファイルへと置き換えることを可能にする。この置き換えのタイミングを慎重に調整する攻撃者は、needrestart を騙して、悪意のコードを root として実行できる。
CVE-2024-10224:needrestart が使用する Perl の ScanDeps モジュールは、攻撃者が提供するファイル名を、不適切に処理するという欠陥を持っている。攻撃者は、シェル・コマンドに似たファイル名 (command| など) を作成し、そのファイルが開かれたときに、任意のコマンドを root として実行できる。
CVE-2024-11003:needrestart は、Perl の ScanDeps モジュールに依存しているため、ScanDeps 自身の脆弱性に影響を受けてしまう。たとえば、eval() 関数を安全が確保されない方法で使用する場合には、攻撃者が制御する入力が処理されるときに、任意のコードが実行される可能性が生じる。
これらの欠陥を悪用する攻撃者は、その前提として、マルウェアまたは侵害済のアカウントを介して、オペレーティング・システムにローカル・アクセスする必要がある。それにより、リスクが軽減されることに留意することも重要である。
ただし、過去における攻撃者たちは、Loony Tunables や nf_tables バグを悪用するかたちで、Linux の権限昇格の脆弱性に到達し、ルート権限を取得している。そのため、ローカル・アクセスが必須であるという理由だけで、この新しい欠陥を無視すべきではない。
needrestart は広く使用されており、一連の脆弱性が長い期間にわたって放置されてきたこともあり、重要なシステムで権限昇格の機会が生じている可能性も否定できない。
ユーザーに対して強く推奨されるのは、すべての脆弱性に対するパッチを取り込んだ、バージョン 3.8 以降へとアップグレードすることだ。それに加えて、”needrestart.conf” ファイルを変更して、インタープリター・スキャン機能を無効し、これらの脆弱性の悪用を防いでほしい。
# Disable interpreter scanners.
$nrconf{interpscan} = 0;
この変更により needrestart は、攻撃者が制御する可能性のある環、境変数を用いたインタープリターの実行を回避できる。
すいぶんと、長い間にわたって、このように発見されない脆弱性も多々あります。すでに、アップデート版もリリースされていますので、ご利用のチームは、ご確認ください。よろしければ、Ubuntu で検索も、ご参照ください。
You must be logged in to post a comment.