【活用ガイド】

JVNDB-2026-012983

PackageKit ProjectのPackageKitにおけるTime-of-check Time-of-use (TOCTOU) 競合状態の脆弱性

概要

PackageKitは、ユーザーがクロスディストリビューションおよびクロスアーキテクチャのAPIを使用して安全にパッケージを管理できるD-Busの抽象化レイヤーです。バージョン1.0.2から1.3.4までのPackageKitには、トランザクションフラグに対するタイム・オブ・チェック・タイム・オブ・ユース(TOCTOU)の競合状態の脆弱性が存在し、権限のないユーザーがrootとしてパッケージをインストールできるため、ローカル権限昇格につながります。この脆弱性はバージョン1.3.5で修正されました。ローカルの権限のないユーザーは、認証なしに任意のRPMパッケージをrootとしてインストールでき、RPMスクリプトレットの実行も可能です。この脆弱性は、`transaction-cached_transaction_flags`に対するTOCTOU競合状態と、不正な後退状態遷移を無視しながら破損したフラグを残すサイレントな状態機械ガードの組み合わせによって発生します。`src/pk-transaction.c`には以下の3つのバグがあります。1. 無条件のフラグ上書き(4036行目):`InstallFiles()`は、トランザクションがすでに認可または開始されているかを確認せずに、呼び出し元から渡されたフラグを`transaction-cached_transaction_flags`に書き込みます。2度目の呼び出しは、トランザクションがRUNNING中でも盲目的にフラグを上書きします。2. サイレントな状態遷移拒否(873-882行目):`pk_transaction_set_state()`は後退状態遷移(例:`RUNNING`から`WAITING_FOR_AUTH`への遷移)をサイレントに破棄しますが、ステップ1でのフラグ上書きは既に発生しています。トランザクションは破損したフラグのまま継続します。3. 実行時の遅延フラグ読み取り(2273-2277行目):スケジューラーのアイドルコールバックは認可時ではなくディスパッチ時に`cached_transaction_flags`を読み取ります。認可と実行の間にフラグが上書きされた場合、バックエンドは攻撃者のフラグを認識します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.8 (重要) [その他]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更あり
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


PackageKit Project
  • PackageKit 1.0.2 以上 1.3.5 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

deutsche telekom GitHub Openwall
CWEによる脆弱性タイプ一覧  CWEとは?

  1. Time-of-check Time-of-use (TOCTOU) 競合状態(CWE-367) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-41651
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-41651
  2. 関連文書 : PackageKit/src/pk-transaction.c at 04057883189efa225a7c785591aa87cb299782f8  PackageKit/PackageKit  GitHub (https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L4036)
  3. 関連文書 : PackageKit/src/pk-transaction.c at 04057883189efa225a7c785591aa87cb299782f8  PackageKit/PackageKit  GitHub (https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L873-L882)
  4. 関連文書 : PackageKit/src/pk-transaction.c at 04057883189efa225a7c785591aa87cb299782f8  PackageKit/PackageKit  GitHub (https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L2273-L2277)
更新履歴

  • [2026年04月27日]
      掲載