Linux Tuned Daemon の脆弱性 CVE-2024-52336/52337 が FIX:特権昇格/ログ操作の可能性

CVE-2024-52336 & CVE-2024-52337: Vulnerabilities in Linux Tuned Daemon

2024/12/01 SecurityOnline — Linux Tuned Daemon に2つの脆弱性 CVE-2024-52336/CVE-2024-52337 が存在することが、SUSE Security Team により発見された。このツールは、ランタイム・ハードウェアとカーネル最適化に不可欠なものであるため、これらの脆弱性を悪用する攻撃者は、特権昇格やログ操作などを可能にするとされる。

Tuned とは、特権デーモンのことである。それにより、ハードウェアとカーネルの設定が動的に調整され、システムのパフォーマンスが最適化されていく。Tuned は、包括的な D-Bus インターフェイスを介して動作し、Polkit 認証により保護されている。SUSE Security Team によると、「Tuned では、D-Bus インターフェイスへの追加が頻繁に行われており、2019年以降において、すでに 10回目のレビューを実施している」という。彼らは、instance_create() D-Bus メソッド内に存在する、2つの重大な脆弱性を発見した。

CVE-2024-52336 (CVSS 7.8):任意のスクリプト実行によるローカルの悪用

この脆弱性により、ローカルの非特権ユーザーは、instance_create() メソッドの script_pre および script_post パラメータの悪用を可能にする。これらのパラメータは、ユーザーが制御する絶対ファイルパスを受け入れ、ルート権限で実行されるため、ローカルからの悪用の可能性が生じる。

SUSE は、「特権のないユーザーが管理するスクリプトが、ここに渡される可能性がある。それにより、ローカルからの悪用が可能になる」と説明している。つまり、ローカルでログインした攻撃者は、次のコマンドを発行することで、この脆弱性を悪用できる。

$ gdbus call -y -d com.redhat.tuned -o /Tuned \
        -m com.redhat.tuned.control.instance_create cpu myinstance \
        '{"script_pre": "/path/to/myscript.sh", "devices": "*"}'

CVE-2024-52337 (CVSS 5.5):インスタンス名の未処理によるログのなりすまし

この脆弱性は、instance_create() メソッドの instance_name パラメータの不十分なサニタイズ処理に関係している。それを悪用する攻撃者は、ログや tuned-adm get_instances などのユーティリティに対して、制御シーケンスや改行文字を含む任意のデータを注入できる。

SUSE によると、「名前に改行文字を挿入することで、独立して正当に見えるエントリを、tuned ログに追加する」という。

EVIL=`echo -e "this is\nevil\033[?1047h"`
gdbus call -y -d com.redhat.tuned -o /Tuned -m com.redhat.tuned.control.instance_create cpu "$EVIL" '{"devices": "*"}'
Proof-of-Concept

この PoC により、管理者は欺かれ、ターミナル・エミュレータの不正操作が可能になる。その結果として、システムの整合性にリスクがもたらされる。

これらの脆弱性は、Tuned のバージョン v2.24.1 で対処されている。

  • CVE-2024-52336 対策:スクリプトの読み込みを、信頼された場所からだけに限定し、instance_create の Polkit ポリシーを強化する。
  • CVE-2024-52337 対策:許可されていない文字を取り込んだ、ユーザーから提供される文字列を拒否するための、検証を導入する。

この修正はコミット 90c24eea に統合され、D-Bus メソッドのセキュリティが強化された。