CVE-2026-41651
PackageKitは、トランザクションフラグに対するTOCTOUレースに対して脆弱であり、rootとして任意のパッケージインストールにつながる
- 公開済み
- 2026/04/22
- 更新済み
- 2026/07/15
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/25
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 39.0%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
PackageKitは、ユーザーがクロスディストリビューション、クロスアーキテクチャのAPIを使用してパッケージを安全に管理できるようにするD-Bus抽象化レイヤーです。バージョン1.0.2から1.3.4までのPackageKitは、トランザクションフラグにおけるtime-of-check time-of-use(TOCTOU)競合状態に対して脆弱であり、特権のないユーザーがrootとしてパッケージをインストールできるため、ローカル権限昇格につながります。これはバージョン1.3.5で修正されています。ローカルの特権のないユーザーは、認証なしで、RPMスクリプトレットの実行を含む任意のRPMパッケージをrootとしてインストールできます。この脆弱性は、`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を読み取ります。承認と実行の間にフラグが上書きされた場合、バックエンドは攻撃者のフラグを認識します。
ソース
11CVE-2026-41651
# CVE-2026-41651 の概念実証エクスプロイト PackageKit の TOCTOU ローカル権限昇格に対する概念実証エクスプロイト。技術分析、検出ロジック、および修復ガイダンスを含みます。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。