CVE-2026-41651
PackageKit vulnérable à une course TOCTOU sur les indicateurs de transaction conduisant à l'installation arbitraire de paquets en tant que root
- Publié
- 22 avr. 2026
- Mise à jour
- 15 juil. 2026
- Attribution de CNA
- GitHub_M
- Preuve observée
- 25 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 38,4 %
- Date du modèle
- 17 oct. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
PackageKit est une couche d'abstraction D-Bus qui permet à l'utilisateur de gérer les paquets de manière sécurisée grâce à une API multi-distributions et multi-architectures. PackageKit, entre les versions 1.0.2 et 1.3.4 incluses, est vulnérable à une condition de concurrence de type time-of-check time-of-use (TOCTOU) sur les indicateurs de transaction, permettant à des utilisateurs non privilégiés d'installer des paquets en tant que root, ce qui conduit à une élévation de privilèges locale. Ce problème est corrigé dans la version 1.3.5. Un utilisateur local non privilégié peut installer des paquets RPM arbitraires en tant que root, y compris exécuter des scriptlets RPM, sans authentification. La vulnérabilité est une condition de concurrence TOCTOU sur `transaction->cached_transaction_flags` combinée à un garde-fou silencieux de machine à états qui rejette les transitions arrière illégales tout en laissant les indicateurs corrompus en place. Trois bogues existent dans `src/pk-transaction.c` : 1. Écrasement inconditionnel des indicateurs (ligne 4036) : `InstallFiles()` écrit les indicateurs fournis par l'appelant dans `transaction->cached_transaction_flags` sans vérifier si la transaction a déjà été autorisée/démarrée. Un second appel écrase aveuglément les indicateurs même pendant que la transaction est en cours d'exécution (RUNNING). 2. Rejet silencieux des transitions d'état (lignes 873–882) : `pk_transaction_set_state()` rejette silencieusement les transitions d'état arrière (par exemple `RUNNING` → `WAITING_FOR_AUTH`) mais l'écrasement des indicateurs à l'étape 1 a déjà eu lieu. La transaction continue de s'exécuter avec des indicateurs corrompus. 3. Lecture tardive des indicateurs au moment de l'exécution (lignes 2273–2277) : le rappel d'inactivité du planificateur lit cached_transaction_flags au moment de la répartition, et non au moment de l'autorisation. Si les indicateurs ont été écrasés entre l'autorisation et l'exécution, le backend voit les indicateurs de l'attaquant.
Sources
- CVE-2026-41651Informationnel
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.