CVE-2026-80104, une faille de 9,8 de gravité de traversal de chemin et d’écriture arbitraire de fichiers dans le framework d’applications IA DB-GPT, désigne v0.8.1 comme la version qui la corrige. C’est exact, mais dangereusement incomplet : v0.8.1 est la seule version publiée qui contient la correction.

Ce que nous avons vérifié, et comment

Le garde-fou est une fonction appelée _validate_upload_filename, ajoutée le 21 mai 2026, qui rejette les octets nuls, les chemins absolus POSIX et Windows, ainsi que tout nom de fichier contenant plus d’un composant de chemin. Nous avons récupéré le fichier source concerné à la balise v0.8.1 puis à la balise v0.8.2 et les avons comparés. En v0.8.1, la fonction est présente. En v0.8.2 — publiée ce matin — elle a disparu, et le gestionnaire lit directement filename = file.filename avant de le joindre au répertoire de téléversement et d’écrire les octets. Aucune canonicalisation, aucun contrôle de confinement.

Comment une correction disparaît

La perte remonte à une branche de fonctionnalité coupée avant l’arrivée de la correction. Lors de sa fusion en juin, la version du fichier issue de cette branche — antérieure au 21 mai — a remplacé celle corrigée. Rien n’a été intentionnellement annulé ; le garde-fou a simplement été écrasé par une copie plus ancienne de la même fonction, ce qui explique l’absence d’entrée dans le journal des modifications.

Ce que le cadrage courant ne dit pas

Dans un avis, le champ « version corrigée » est universellement compris comme « cette version et toutes les suivantes ». C’est ce que supposent les scanners, ce sur quoi agissent les robots de dépendances, et ce que conclut un exploitant. Ici, le champ est un point, pas un plancher : une équipe qui lit l’avis et met à niveau vers la dernière version fait exactement ce qu’il ne faut pas et se retrouve avec du code vulnérable tout en pensant être remédiée. L’avis n’est pas erroné — il est lu au moyen d’une hypothèse qui ne tient pas.

L’authentification aggrave encore le problème

La seule dépendance de la route d’envoi est une fonction dont le code source est commenté « Mock User Info » et qui renvoie un objet utilisateur avec role="admin", qu’un en-tête utilisateur soit fourni ou non. Les deux branches sont administrateur. Il s’agit du code publié actuel, pas d’une balise abandonnée — la primitive d’écriture de fichiers est donc atteignable sans authentification.