Failles Ruby et PHP : il faut être prévenu le jour même
Ruby et PHP ont corrigé des failles critiques la même semaine. Avec l’IA, elles se trouvent plus vite : il faut être prévenu dès leur publication.
En une semaine, Ruby et PHP ont publié des correctifs pour des failles qui permettent d’exécuter du code à distance. Ça m’inquiète : avec l’IA, ces failles se trouvent plus vite, et il faut être très réactif pour mettre à jour avant qu’elles soient exploitées.
Ce qui a été corrigé
Côté PHP, les versions 8.5.12, 8.4.27, 8.3.36 et 8.2.35 corrigent deux failles critiques : un attaquant non authentifié pouvait exécuter du code sur un serveur qui fait tourner PHP. La PHP Foundation raconte que plusieurs équipes ont trouvé la même cause chacune de leur côté, dont OpenAI, et que des outils d’IA ont servi à chercher les failles comme à valider les rapports.
Côté Ruby, les versions 4.0.9, 3.4.12 et 3.3.13 corrigent des bugs du moteur d’expressions régulières, trouvés via le programme de bug bounty de GitLab. Une expression régulière conçue pour l’attaque peut corrompre la mémoire au moment où elle est compilée, et GitLab a montré que ça pouvait aller jusqu’à l’exécution de code. Une application n’est concernée que si elle compile une regex à partir d’une chaîne contrôlée par un attaquant : Regexp.new(params[:q]), Regexp.union ou une interpolation du type /#{input}/.
Si vous ne pouvez pas mettre à jour Ruby tout de suite, l’équipe Ruby conseille de ne plus compiler de regex à partir d’une entrée non fiable. Nate Berkopec a publié un prompt d’audit à donner à un agent pour chercher ces cas dans une application.
Pourquoi ça va plus vite
Quand des outils d’IA scannent les grands projets open source, le délai entre la découverte d’une faille, sa publication et son exploitation se raccourcit. Gergely Orosz a d’ailleurs consacré un numéro de The Pulse à une demi-douzaine d’incidents de sécurité survenus le même jour, dont plusieurs liés à l’IA ou accélérés par elle.
Du coup, apprendre une faille Ruby ou PHP trois jours après sa publication, en lisant une newsletter, c’est trop tard. Il faut être prévenu le jour même.
Comment être prévenu le jour même
Les canaux que je retiens :
- Rails : la catégorie Security Announcements du forum officiel, qu’on peut suivre par email. Elle publie peu, donc presque uniquement de l’utile.
- Ruby : le flux RSS des actualités de ruby-lang.org, là où l’annonce de cette semaine est parue.
- Les dépendances d’un projet : les alertes Dependabot de GitHub, qui préviennent quand une gem ou un paquet du projet est touché. On peut y ajouter
bundle-audit check --updateen CI, qui s’appuie sur ruby-advisory-db. - Tout le reste (PHP, WordPress, le système du serveur) : OpenCVE, qui envoie un email dès qu’une CVE touche un produit suivi. L’offre gratuite permet d’en suivre cinq.
Sources : Today’s PHP Security Release, The PHP Foundation, Regexp compilation fixes related to GitLab’s CVEs, ruby-lang.org, The Pulse, The Pragmatic Engineer. Texte rédigé avec l’aide d’une IA à partir de mes idées, puis relu par moi.