Ubuntu et Fedora ont été confrontés à une faille critique récemment, une faille qui visait GStreamer et qui permettait à des personnes mal intentionnées de pirater le système à l’aide d’un simple fichier MP3 ou FLAC. Fort heureusement pour les utilisateurs, la brèche a été rapidement colmatée par les éditeurs de ces distributions.

GStreamer se présente sous la forme d’une bibliothèque axée sur le son et l’image. Elle est distribuée sous licence libre et elle vient se positionner sur un segment identique à QuickTime et DirectShow.

La première version est apparue sur le marché à la fin des années 90 et elle a rencontré un vif succès chez les défenseurs du libre, tant et si bien qu’elle a fini par être intégrée à Gnome.

Une faille propre à GStreamer

À l’heure actuelle, la bibliothèque est utilisée par de nombreux logiciels et notamment par Listen, Totem, Songbird ou encore Clementine. La liste n’est évidemment pas exhaustive.

Chris Evans se passionne depuis longtemps pour la sécurité informatique et il passe ainsi une bonne partie de son temps libre à chasser les failles et les exploits. Durant ses investigations, il a détecté une vulnérabilité critique dans GStreamer, une vulnérabilité assez particulière.

Cette bibliothèque est capable de gérer de nombreux fichiers audio différents et elle peut notamment prendre en charge les fichiers SPC. Si vous ne connaissez pas ce format, il faut rappeler qu’il était utilisé par Nintendo pour les fichiers audio de la Super Nintendo.

GStreamer intègre un émulateur capable de simuler le CPU et le processeur audio de cette console et il peut donc lire les fichiers SPC.

Toutefois, en effectuant des tests assez poussés, Chris Evans s’est rendu compte qu’il était possible de provoquer un heap overflow (un bug similaire à un dépassement de tampon, mais pour la mémoire allouée aux programmes) avec ces fichiers et donc d’exécuter du code avec les privilèges utilisateur.

Une attaque reposant sur un heap overflow

En exploitant cette faille, il a réussi à mettre au point un fichier SPC capable de lancer… la calculatrice à chaque visualisation et/ou lecture. Vous trouverez à la fin de l’article une vidéo tournée durant un de ces essais.

Après avoir réussi à exploiter cet exploit, Chris a entrepris de changer l’extension du fichier en MP3 ou en FLAC afin de tromper plus aisément ses hypothétiques victimes.

Le chercheur a immédiatement fait remonter ses observations aux éditeurs d’Ubuntu et de Fedora et ces derniers ont déployé dans la foulée un patch pour colmater la brèche et éviter que cette faille ne soit exploitée par des développeurs de malwares ou de virus. Selon Chris, il aurait suffi que GStreamer intègre un système de bac à sable pour rendre caduque cette attaque. Ce n’est d’ailleurs pas la première fois qu’il s’en prend à la bibliothèque puisqu’il avait trouvé d’autres failles en novembre dernier.