• [^] # Re: curl ... | sudo bash

    Posté par . En réponse à la dépêche Guix pour remplacer mon gestionnaire de paquets APT. Évalué à 5.

    Ce que fait ma commande télécharge ce script et l'exécute en tant que super utilisateur

    Pas exactement malheureusement. Dans le cas d'un curl ... | bash, le script peut commencer à être exécuté par bash avant même qu'il ait fini d'être téléchargé par curl. Et ce comportement peut être détecté côté serveur. Et si l'admin du serveur était malveillant, il pourrait faire en sorte que ces 2 commandes se comportent différemment.

    $ curl https://....../install.sh > install.sh
    $ sudo bash install.sh
    Installing XXXXX...
    

    et

    $ curl https://....../install.sh | sudo bash
    Installing XXXXX and also something else you wouldn't expect...
    

    Une démonstration a été faite il y a quelques années sur ce blog :
    https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/
    Il fournit un script python facile à tester pour se faire peur.

    À mon sens c'est une raison suffisante pour arrêter de propager cette mauvaise habitude du curl ... | bash.