Developpez.com

Le Club des Développeurs et IT Pro

Une nouvelle faille de sécurité découverte sous Linux

La commande "Less" serait la porte d'entrée de logiciels malveillants

Le 2014-11-26 09:21:32, par Michael Guilloux, Chroniqueur Actualités
L’utilisation de la commande Less sous Linux pour afficher le contenu des fichiers téléchargés à partir d'Internet s’avère être une opération dangereuse.
En effet, cette commande, qui à première vue semble inoffensive, peut conduire à l'exécution de code à distance, selon un chercheur en sécurité.

Less permet d’afficher le contenu d’un fichier dans une fenêtre et permet aux utilisateurs de le parcourir sans pouvoir le modifier. Son grand avantage est qu’il affiche les données à la volée sans avoir besoin de charger un fichier entier en mémoire. Ceci est utile lorsqu'il s’agit de gros fichiers, mais à quel prix sous Linux ?

Cette commande est généralement utilisée pour afficher les fichiers ‘texte’, mais sur de nombreuses distributions Linux, y compris Ubuntu et CentOS, elle prend en charge beaucoup plus de types de fichiers, y compris les archives, les images et les fichiers PDF. Ceci est dû au fait que, sur ces systèmes, la commande exécute un script appelé lesspipe qui s’appuie sur différents outils tiers pour traiter les fichiers avec diverses extensions.

« Les outils tiers desquels dépend lesspipe et par conséquent less n’ont pas été conçus dans le but d’offrir une porte ouverte aux logiciels malveillants », a déclaré Michal Zalewski, ingénieur en sécurité de Google, dans un message envoyé à une liste de diffusion.

Cependant, ce dernier a découvert une faille après avoir effectué un fuzzing sur l’un de ces outils. Le fuzzing est une technique qui permet de tester des logiciels. L’idée est d’injecter des données aléatoires dans un programme. Si le programme échoue, alors cela indique qu’il y a des défauts à corriger dans le programme. Notons que ce test est aussi effectué pour traquer des failles de sécurité.

L’exécution de ce test sur le fichier d’archivage cpio, l’un des programmes utilisés par lesspipe, a généré un bogue pouvant entraîner l’exécution de code arbitraire. Ce qui laisse paraître que ce fichier pourrait être une porte d’entrée pour les maliciels.

Zalewski pense aussi que cette faille pourrait s’étendre à bien d’autres programmes utilisés par lesspipe.
« Même s’il s’agit d’un seul bogue dans cpio, je ne ai aucun doute que bon nombre des autres programmes lesspipe sont tout aussi problématiques ou pires », a déclaré le chercheur.

Après qu’il ait envoyé ses conclusions sur la liste de diffusion appelée « Open Source Security », d'autres personnes ont commencé à noter des problèmes similaires dans d'autres outils lesspipe et dans less ; et cela provoque déjà la méfiance au niveau des utilisateurs de Linux.

Pour la sécurité des utilisateurs de Linux, l’idéal serait d’effectuer des tests de fuzzing sur tous les programmes utilisés par lesspipe, mais cela ne sera pas aisé vu le nombre de programmes et la vétusté de certains d’entre eux. Zalewski propose donc à ces deniers d’assurer, eux-mêmes, leur sécurité en désactivant les variables d’environnement Lessopen et Lessclose, qui appellent automatiquement lesspipe.

Source: Message diffusé par Michal Zalewski

Et vous?

Que pensez-vous? A quels dangers pourraient être exposés les utilisateurs de Linux?
  Discussion forum
9 commentaires
  • abriotde
    Membre chevronné
    Envoyé par frp31
    more est pas concerné
    A priori non le problème de less, ce sont ces librairies de lecture en cache et de lecture de multiple format. C'est complexe et donc sujet a bug.

    More est beaucoup plus basique, les risque de faille sont donc très limité. Par exemple more ne permet même pas de lire du zip, il faut le piper avec zcat.
  • axellink
    Membre à l'essai
    Y a-t-il un moyen de savoir si on est concerné ?
    Code :
    echo $LESSOPEN
    si ca renvoie un truc avec lesspipe, c'est qu'on est affecte

    Apres je suis d'accord avec abriotde, il faut vraiment etre dans un cas tres specifique pour activer la faille, et surtout il s'agit d'un cas qui n'est surement pas dans un programme.

    Par contre, la ou ca peut etre fourbe, c'est que la faille n'est pas dans less en soit mais dans cpio (et dans d'autres programmes tiers appeles par lesspipe), et peut-etre dans la librairie de ce dernier que l'on peut utiliser dans un programme, et la c'est plus problematique.

    On ne devrait donc pas parler d'une faille dans la commande less, puisque c'est l'appel a un autre programme qui est problematique. D'ailleurs je ne comprends pas que cette indirection soit faite, less est un programme existant qui ne doit ouvrir que des fichiers textes, pour les pdf, les cpio, les ar, il y a d'autres programmes. C'est une entorse au principe Unix "do one thing and do it well" et encore une fois on voit qu'a vouloir trop faire, on le fait pas bien.
  • Mc geek
    Membre habitué
    Là ça fait trois choses Imikado
  • imikado
    Rédacteur
    Oui je viens de corriger: le 3ème point n'en est pas un, c'est plus du wait & see la réactivité
  • Une information assimilable à une "entête" qui fini par devenir une sorte de second "secteur de boot" dans "le boot actuel" sans que lui sois créé de fork ou thread dans des registres et unités de traitements séparés.
    C'est vraiment un problème car une information qui ne doit pas être interprété se retrouve interprété.
  • Max Lothaire
    Membre confirmé
    Cette commande est généralement utilisée pour afficher les fichiers ‘texte’, mais sur de nombreuses distributions Linux, y compris Ubuntu et CentOS, elle prend en charge beaucoup plus de types de fichiers, y compris les archives, les images et les fichiers PDF. Ceci est dû au fait que, sur ces systèmes, la commande exécute un script appelé lesspipe qui s’appuie sur différents outils tiers pour traiter les fichiers avec diverses extensions.
    Toutes les distributions (et donc tous les systèmes Unix-like) ne sont pas concernée si je comprend bien ?
    Y a-t-il un moyen de savoir si on est concerné ?
  • frp31
    Expert éminent sénior
    more est pas concerné ?

    meme si je me fait traiter de vieux parce que j'utilises more au lieu de less !
  • abriotde
    Membre chevronné
    C'est tout de même une faille a l'exploitation très limité me semble t'il. Pour l'exploiter, il faut faire un fichier qui sera utiliser avec less ou un équivalent or la probabilité qu'un programme utilise less est null (l'intérêt est pour l'humain) et le nombre d'humain a utiliser la ligne de commande et de plus a utiliser less qui plus est sur le fichier vérolé est très très faible. Il y aura un risque si l'on découvre qu'un programme plus certainement utilisé comme vim ou gedit se base sur une librairie less. (Ou vice versa, que la faille est dans une librairie qu'utilise d'autres programmes)
  • imikado
    Rédacteur
    Deux choses:
    1. la majorité pour ne pas dire totalité des virus et hack sur le net visent windows
    2. comme d'habitude: il ne faut pas ouvrir un fichier que l'on ne connait pas ou dont on est pas sur de la source

    J'attends de voir le temps de réaction pour corriger celle-ci