Twitter Facebook Google Plus Linkedin email

Fedora12 + PackageKit : Insecure (ou pas)

La nouvelle distribution Fedora 12 vient de sortir. Elle nous arrive avec une nouvelle fonctionnalité/faille qui fait pas mal de bruit chez les fédoriens en ce moment : PackageKit. Cet outil permet à un utilisateur non privilégié d'installer des packages sur la machine. Alors, Faille ou Fonctionnalité ?



Regardez plutôt comment ça marche. Voici une commande que j'exécute avec un compte non privilégié dans une console lancé via l'inteface graphique :

[pierre@localhost ~]$ id
uid=500(pierre) gid=500(pierre) groups=500(pierre) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[pierre@localhost ~]$ whereis samba
samba:
[pierre@localhost ~]$ pkcon install samba
Simulating install            [=========================]
Installing packages           [=========================]
Getting information           [=========================]
Resolving dependencies        [=========================]
The following packages have to be installed:
 samba-common-3.4.2-47.fc12.i686	Files used by both Samba servers and clients
Proceed with changes? [N/y]   [=========================]
Installing                    [=========================]
Waiting for authentication    [=========================]
Resolving dependencies        [=========================]
Downloading packages          [=========================]
Testing changes               [=========================]
Installing packages           [=========================]
Scanning applications         [=========================]
[pierre@localhost ~]$ whereis samba
samba: /etc/samba /usr/lib/samba /usr/share/man/man7/samba.7.gz

En voyant ça, on pourrait se dire que cela pose des problèmes de sécurité et d'administration... Un simple utilisateur pourrait installer des logiciels avec des failles de sécurité, écraser, modifier des fichiers de configuration et surtout d'installer des fichiers suid root potentiellement vulnérables (encore faut il trouver LE package).

D'ailleurs, sur les mailing list on peut lire plein de choses sympathiques, dont beaucoup dans le genre : FEDORA 12 REMOTE ROOT EXPLOIT, mais sans preuve de concept (oui tout de suite, ça devient beaucoup plus compliqué).

Avant de s'alarmer, il faut relativiser :

  • Cette commande n'est utilisable qu'en local (graphique ou console). Si un pirate compromet un compte via SSH ou trouve une faille dans votre serveur Web et exécute des commandes via l'utilisateur Apache : il ne pourra pas installer de logiciels à partir des dépôts.
  • Par défaut, seul les packages du repo signés par Fedora sont installables, or, Fedora les tient à jour, il faudrait donc un 0-day pour rooter le serveur (ce qui complique beaucoup la chose).
  • J'ai remarqué en installant samba, que le service n'était pas lancé par défaut, il est donc impossible de lancer directement un service vulnérable via cette commande (à confirmer).
  • Et enfin, Fedora c'est plutôt une distribution de test (2 ou 3 nouvelles versions / an), de bureautique et pas trop utilisé en prod, ils ont intégré ce package afin de simplifier la vie des utilisateurs.

La commande pour désactiver packagekit est la suivante :

pklalockdown --lockdown org.freedesktop.packagekit.package-install

En conclusion, même si un Linuxien élite réussit à trouver un trick pour rooter le serveur via PackageSite, l'impact sera très limité.

Par contre, si ça peut vous rassurer, il est nécessaire d'avoir le mot de passe root pour désinstaller des package :)