Pack2TheRoot (CVE-2026-41651): La fallada en PackageKit que compromet a Linux

Punts clau:
  • La decisió es basa en una condició de carrera (TOCTOU) dins de la gestió de transaccions de D-Bus, eludint l'autorització de polkit.
  • Afecta directament distribucions populars com Ubuntu, Debian, Fedora i Rocky Linux a les seves instal·lacions per defecte.
  • Un atacant pot sobreescriure els indicadors d'una transacció segura enviant una segona sol·licitud abans que el planificador iniciï l'operació.
  • La vulnerabilitat es corregeix a PackageKit 1.3.5, i hi ha una mitigació temporal mitjançant la creació de regles personalitzades en polkit.

Pack2TheRoot

Fa pocs dies es va donar a conèixer informació sobre una nova vulnerabilitat crítica que afecta els entorns Linux anomenada Pack2TheRoot. Catalogada sota CVE-2026-41651, aquesta fallada afecta a PackageKit (una eina, que actua com una capa d'abstracció D-Bus per unificar la gestió de paquets en múltiples distribucions)

S'esmenta que la decisió permet a qualsevol usuari local sense privilegis instal·lar o eliminar paquets de manera arbitrària. En explotar aquesta falla, un atacant pot obtenir accés total com a administrador (root) al sistema compromès. L'impacte és considerable atès que el problema ha estat latent des de la versió 1.0.2, llançada fa més de dotze anys (el 2014), i afecta configuracions predeterminades de distribucions populars com Ubuntu, Debian, Rocky Linux i Fedora.

Pack2TheRoot: Vulnerabilitat a PackageKit atorga accés d'administrador a Linux

El descobriment de Pack2TheRoot va ser el resultat d'una investigació dirigida per l'equip Red Team de Deutsche Telekom, els qui van utilitzar el model d'intel·ligència artificial Claude Opus per guiar-ne l'anàlisi sobre vectors d'escalada de privilegis locals.

LoEls investigadors van observar inicialment que la comanda pkcon install podia executar-se sense requerir contrasenyaa en certes configuracions de Fedora, cosa que va aixecar sospites sobre l'autorització subjacent. Després de confirmar i reportar responsablement la decisió als mantenidors de PackageKit, s'ha desenvolupat un exploit funcional, encara que la publicació detallada s'ha endarrerit estratègicament per permetre que els usuaris i administradors apliquin les actualitzacions necessàries.

La mecànica de l'atac

L'arrel de la vulnerabilitat resideix en una condició de carrera (del tipus TOCTOU: Time-of-Check to Time-of-Use) dins la gestió de transaccions del procés en segon pla (daemon) de PackageKit. PackageKit, que opera com a usuari root, delega l'autorització al sistema polkit. Quan un client sol·licita instal·lar un paquet, per exemple mitjançant el mètode InstallFiles, transmet un conjunt d'indicadors (flags) que dicten el comportament de la transacció.

Indicadors específics, com SIMULATE o ONLY_DOWNLOAD, instrueixen PackageKit a ometre l'autorització de polkit, ja que representen operacions segures que, teoria, no modifiquen l'estat del sistema. La decisió es desencadena perquè el manejador de transaccions sobreescriu incondicionalment aquests indicadors emmagatzemats a la memòria cau amb cada nova trucada, sense verificar si la transacció ja ha estat autoritzada o està en procés d'execució.

pack2theroot-poc2

Un atacant pot iniciar una transacció amb indicadors «segurs» (eludint així l'autorització de polkit) i, mil·lisegons després, enviar una segona sol·licitud D-Bus per a la mateixa transacció, però aquesta vegada amb indicadors maliciosos que ordenin una instal·lació real. A causa de l'arquitectura de prioritats del bucle d'esdeveniments de GLib (on els missatges D-Bus es processen abans que les tasques programades en espera (idle callbacks)), la segona sol·licitud sobreescriu els paràmetres just abans que el planificador (scheduler) iniciï l'operació.

Com a resultat, la transacció prèviament autoritzada com a «segura» s'executa amb els paràmetres substituïts, instal·lant el paquet amb privilegis d'administrador.

Solucions i mitigació

Cal assenyalar que la vulnerabilitat ha estat aplicada a la versió 1.3.5 de PackageKit, de manera que els desenvolupadors insten els administradors de sistemes a verificar si els seus equips són vulnerables revisant l'estat del servei mitjançant ordres com systemctl status packagekit o monitoritzant l'activitat amb pkmon.

Les principals distribucions, incloent-hi Debian, Ubuntu i Fedora, ja han començat a distribuir paquets actualitzats a través dels canals oficials. Per a aquells sistemes on un pegat no estigui disponible immediatament, els investigadors han proposat una solució alternativa (workaround) que consisteix a desplegar una regla de polkit personalitzada.

Aquesta regla denega de manera immediata i silenciosa les accions d'instal·lació de PackageKit per a qualsevol usuari que no sigui root, impedint que la finestra de la condició de carrera s'obri. És important destacar que, encara que l'exploit és ràpid i silenciós, deixa un rastre clar als registres del sistema (logs): després d'una explotació reeixida, el daemon de PackageKit col·lapsa a causa d'un error d'asserció (assertion failed: (!transaction->priv->emitted_finished)). Tot i que systemd reinicia el servei prevenint una denegació de servei, la presència d'aquest missatge a journalctl és un fort indicador que el sistema ha estat compromès.

Finalment, si estàs interessat en poder conèixer més sobre això, pots consultar els detalls en el següent enllaç.


Add as preferred source