Linuxバッテリーユーティリティ「TLP」に深刻な脆弱性、認証バイパスの恐れ

概要:Linuxバッテリー管理ツールに認証バイパスの脆弱性

人気のLinuxバッテリー最適化ツールであるTLPパワープロファイルデーモンのバージョン1.9.0に、認証バイパスとシステム改ざんを可能にする脆弱性が発見されました。この問題はCVE-2025-67859として追跡されており、ローカルユーザーが管理者権限なしにシステム電源ポリシーやデーモンのロギング設定を改ざんする恐れがあります。

脆弱性のメカニズム:PIDの競合状態を悪用

脆弱性は、TLP 1.9.0デーモンがルート権限で実行され、Polkitを使用してクライアントが電源プロファイルやロギング設定を変更することを許可するかどうかを判断する際に発生します。バージョン1.9.0では、Polkitの非推奨の「unix-process」サブジェクトに誤って依存し、呼び出し元のプロセスID(PID)のみを認証に渡していました。これにより、競合状態が生じます。Polkitが評価する時点でPIDがより特権のあるプロセスによって再利用されている可能性があるため、ローカルユーザーは認証をバイパスし、TLPの設定に対する管理者権限を得ることができます。

その他に発見された関連する問題

研究者たちは、主たる認証バイパスの脆弱性以外にも、影響は低いものの攻撃対象領域を広げるいくつかの関連する弱点を発見しました。

  • 予測可能なクッキー値:HoldProfile/ReleaseProfile APIが、予測可能な増分整数「クッキー」値を使用していたため、他のユーザーやプロセスがクッキーを推測し、作成していないプロファイルホールドを解除できる可能性がありました。
  • 型処理の脆弱性:ReleaseProfileに非整数を渡すと、未処理のPython例外が発生しました。これはデーモンをクラッシュさせるものではありませんでしたが、堅牢性を低下させました。
  • 無制限のプロファイルホールド:デーモンが無制限のプロファイルホールドを許可していたため、ローカルユーザーが任意の文字列を内部辞書にプッシュし、リソース枯渇によるサービス拒否(DoS)を引き起こす可能性がありました。

修正とユーザーへの推奨事項

これらの問題は、調整された開示プロセスを経て報告され、2025年12月にアップストリームでパッチが開発され、2026年1月7日にTLP 1.9.1としてリリースされました。

  • 主要な脆弱性への対策:TLP 1.9.1では、脆弱なメカニズムがより安全なD-Busの「システムバス名」サブジェクトに置き換えられました。これにより、認証は競合状態に陥りやすいPIDではなく、実際のクライアント接続に結び付けられます。
  • 関連する問題への対策:予測不可能なランダムなクッキーへの切り替え、型処理の強化、同時プロファイルホールド数の16への制限が行われました。

Linuxユーザーは、直ちにTLP 1.9.1以降のバージョンにアップグレードすることが強く推奨されます。また、D-Busおよびシステム電源管理インターフェースへのアクセスは、信頼できるローカルユーザーのみに制限するよう注意が必要です。


元記事: https://gbhackers.com/linux-battery-utility-vulnerability/