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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une faille RCE de CodeRabbit donne aux attaquants un accès en lecture et en écriture à 1 million de référentiels sur les serveurs de production de CodeRabbit, y compris la base de données PostgreSQL

Le , par Alex

0PARTAGES

4  0 
Une faille RCE de CodeRabbit donne aux attaquants un accès en lecture et en écriture à 1 million de référentiels sur les serveurs de production de CodeRabbit, y compris la base de données PostgreSQL.

Un rapport a révélé qu'une vulnérabilité critique d'exécution de code à distance dans CodeRabbit aurait pu permettre à des attaquants d'obtenir un accès en lecture et en écriture à plus d'un million de référentiels de code, y compris privés. Cette faille de sécurité permettait aux attaquants d'exécuter du code à distance sur les serveurs de production de CodeRabbit, de divulguer des jetons et des secrets API, d'accéder potentiellement à la base de données PostgreSQL de l'entreprise et d'obtenir un accès non autorisé aux référentiels de code publics et privés.

CodeRabbit est un outil de révision de code basé sur l'IA qui fournit des commentaires en temps réel et adaptés au contexte sur les demandes d'extraction, réduisant ainsi l'effort manuel nécessaire à la révision du code. CodeRabbit aide à faciliter la révision des demandes d'extraction, à utiliser l'IA pour effectuer des révisions de code approfondies et à gérer automatiquement les dernières retouches des demandes d'extraction.

CodeRabbit se distingue comme étant l'application assistée par l'IA la plus installée sur GitHub Marketplace et se classe parmi les installations les plus populaires toutes catégories confondues. La plateforme analyse automatiquement les modifications de code dans les pull requests et fournit des révisions générées par l'IA, ce qui en fait un outil précieux pour la productivité des développeurs afin de résumer les PR, d'identifier les problèmes de sécurité et de suggérer des améliorations de code.

Un rapport a révélé qu'une vulnérabilité critique d'exécution de code à distance dans CodeRabbit aurait pu permettre à des attaquants d'obtenir un accès en lecture et en écriture à plus d'un million de référentiels de code, y compris privés. Les chercheurs en sécurité de Kudelski Security ont révélé cette faille lors de la conférence Black Hat USA 2024. Cette faille de sécurité permettait aux attaquants d'exécuter du code à distance sur les serveurs de production de CodeRabbit, de divulguer des jetons et des secrets API, d'accéder potentiellement à la base de données PostgreSQL de l'entreprise et d'obtenir un accès non autorisé aux référentiels de code publics et privés.


La vulnérabilité exploitait l'intégration de CodeRabbit avec des outils d'analyse statique externes, en ciblant spécifiquement Rubocop, un analyseur statique Ruby. Les chercheurs ont découvert que CodeRabbit exécutait automatiquement ces outils sur les pull requests contenant des types de fichiers pertinents, Rubocop étant configuré pour s'exécuter sur les fichiers Ruby lorsqu'un fichier de configuration .rubocop.yml était présent dans le référentiel.

Le vecteur d'attaque consistait à créer une pull request malveillante contenant un fichier .rubocop.yml spécialement conçu pour demander à Rubocop de charger un fichier d'extension Ruby malveillant. Ce fichier d'extension pouvait exécuter du code arbitraire, y compris des commandes permettant d'exfiltrer des variables d'environnement contenant des jetons API sensibles et des secrets vers des serveurs contrôlés par les attaquants.

Le processus d'exploitation ne nécessitait qu'un effort minimal : les attaquants n'avaient qu'à obtenir l'accès à CodeRabbit, créer un référentiel avec les fichiers de configuration malveillants et attendre que le processus de révision automatique du code exécute leur charge utile.


Voici un extrait du rapport :

Résumé des impacts

Prenons un moment pour résumer les impacts liés à l'obtention d'un accès en écriture à ces 1 million de référentiels. Une personne malveillante aurait pu effectuer les opérations suivantes sur les référentiels concernés :

  • Accéder à des référentiels GitHub privés auxquels personne n'était censé avoir accès. Il s'agit d'une violation de la vie privée.
  • Modifier l'historique Git des référentiels GitHub concernés. Notez qu'il peut s'agir d'une attaque de la chaîne d'approvisionnement, car les référentiels GitHub sont souvent la source à partir de laquelle les logiciels sont développés avant d'être distribués.
  • Modifier les versions GitHub existantes et remplacer ou ajouter des fichiers téléchargeables malveillants – Attaque de la chaîne d'approvisionnement.
  • Poursuivre les mouvements latéraux afin de potentiellement divulguer les secrets des référentiels GitHub en exploitant les actions GitHub vulnérables existantes en poussant des commits git – Notez que comme l'application GitHub CodeRabbit n'a pas de permission d'écriture sur les workflows, les actions GitHub ne peuvent pas être modifiées directement. Cependant, une action GitHub vulnérable peut être exploitée plus facilement avec un accès en écriture au référentiel git. Pour plus de détails sur la manière dont nous avons trouvé un cas où cela était exploitable, consultez la présentation que j'ai donnée lors de la conférence 38C3.

De plus, nous avons obtenu un RCE sur le système de production CodeRabbit. Une personne malveillante aurait pu effectuer des opérations destructrices, provoquer un déni de service ou effectuer des opérations malveillantes sur des systèmes tiers.

CodeRabbit a fait preuve d'une réponse exemplaire à l'incident après la divulgation de la vulnérabilité en janvier 2025. Dans les heures qui ont suivi la notification, la société a désactivé la fonctionnalité Rubocop, remplacé toutes les informations d'identification et tous les secrets potentiellement compromis, et déployé une correction permanente qui a transféré les opérations Rubocop dans son environnement sandbox sécurisé.

La société a mené un audit de sécurité complet, mis en place des mécanismes automatisés d'application du sandbox et établi des portes de déploiement renforcées pour empêcher des vulnérabilités similaires. CodeRabbit a rendu publics ses efforts de réponse et de correction, démontrant ainsi la transparence de ses pratiques en matière de sécurité.

Cet incident met en évidence les défis de sécurité inhérents aux outils de développement basés sur l'IA qui s'intègrent à plusieurs systèmes externes. Cette vulnérabilité souligne l'importance de mettre en place un bac à sable pour l'exécution des outils tiers et de mettre en œuvre des contrôles de sécurité robustes autour des plateformes d'analyse de code automatisées qui traitent des données sensibles issues de référentiels.

Source : Rapport de Kudelski Security

Et vous ?

Pensez-vous que ce rapport est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

État des lieux des outils de codage IA : Cursor et Windsurf sont-ils prêts à répondre aux exigences des développeurs ? Quel outil d'édition de code assisté par IA utilisez-vous ?

Plus de 3 200 utilisateurs de l'outil d'édition de code alimenté par l'IA Cursor ont été infectés par des paquets npm malveillants qui volent des informations d'identification

Vulnérabilité dans GitHub Copilot et Cursor : comment les pirates peuvent compromettre le code généré par l'IA avec des portes dérobées et des vulnérabilités en injectant des instructions malveillantes cachées
Vous avez lu gratuitement 1 609 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !