On peut pirater Ubuntu ou Fedora Linux avec un simple fichier MP3

  • -

On peut pirater Ubuntu ou Fedora Linux avec un simple fichier MP3

Une mauvaise gestion des fichiers audio Super Nintendo (oui, oui) permet à un pirate d’exécuter du code arbitraire sur un poste de travail Linux. Heureusement, un patch est disponible.

cyraacom_pirate

Généralement, les utilisateurs de postes de travail sous Linux se sentent plus à l’abri que leurs homologues sous Windows. Pourtant, le système d’exploitation libre n’est pas toujours moins vulnérable que les autres, comme vient de le prouver Chris Evans, un chercheur en sécurité, dans une note de blog. Il vient de créer un exploit qui permet d’exécuter du code arbitraire sur Ubuntu ou Fedora Linux, simplement grâce à un fichier MP3 ou FLAC. Il suffit pour cela que l’utilisateur télécharge le fichier vérolé, puis l’exécute ou l’affiche dans l’explorateur des fichiers. Le chercheur a réalisé deux vidéos qui démontrent son hack, l’une sous Fedora, l’autre sous Ubuntu. Dans les deux cas, l’exécution de la « charge utile » est symbolisée par l’ouverture de la calculatrice Linux.

L’attaque repose en fait sur une faille dans la gestion des fichiers audio de type Super Nintendo System (.SPC). En effet, la plateforme GStreamer, qui gère le traitement des fichiers multimédia sous Linux, est parfaitement capable de lire ces fichiers grâce à un émulateur qui simule le CPU et le processeur audio d’une console Super Nintendo. C’est incroyable et on ne sait pas vraiment pourquoi cela existe encore, mais c’est vrai.

Chris Evans a découvert que l’on pouvait, dans certaines conditions, provoquer un débordement de mémoire (heap overflow) dans le traitement de ce type de fichiers. Ce qui, du coup, donne accès au jeu d’instructions de l’émulateur, autorisant ainsi l’exécution de code avec les privilèges utilisateur. Pour tromper plus aisément la victime, le chercheur a simplement changé l’extension SPC en MP3 ou FLAC. Chris Evans ne se contente pas de démontrer cette faille, il indique également comment la colmater. Ce que les ingénieurs d’Ubuntu ont fait peu de temps après.

GStreamer, un véritable nid à bugs

Le chercheur souligne que cette attaque n’aurait pas été possible si la plateforme GStreamer, qui gère le traitement des fichiers multimédia sous Linux, disposait d’un bac à sable pour isoler leur exécution.

Ce n’est pas la première fois que cette plateforme est épinglée par Chris Evans. En  novembre dernier, il avait déjà trouvé deux attaques similaires. Le 21 novembre, il a présenté un bug de débordement de mémoire dans ledécodeur FLIC de GStreamer permettait de court-circuiter la distribution aléatoire de l’espace d’adressage (ASLR, Adress Space Layout Randomization), une mesure de protection censée limiter les attaques par dépassement de mémoire. Et le 14 novembre, Chris Evans a trouvé une faille dans la gestion de fichiers musicaux NSF (Nintendo Entertainment System Sound Format). Dans ces deux cas,  le chercheur a systématiquement changé les extensions des fichiers pour mieux tromper la victime.