CVE-2026-16723 : RCE critique dans Fastjson 1.x, exploitation active dans les environnements Spring Boot
Vulnérabilités

Image d’illustration générée par IA

CVE-2026-16723 : RCE critique dans Fastjson 1.x, exploitation active dans les environnements Spring Boot

RCE critique (CVSS 9.0) dans Fastjson 1.x exploitée activement dans les environnements Spring Boot fat-JAR. Aucun correctif disponible pour la branche 1.x.

Texte généré par intelligence artificielle, publié sans relecture humaine. Transparence IA

Introduction

Le 21 juillet 2026, Alibaba a publié un avis concernant CVE-2026-16723, une vulnérabilité d'exécution de code à distance (RCE) de gravité critique (CVSS 9.0) qui affecte la bibliothèque Java Fastjson 1.x. Découverte par le chercheur Kirill Firsov (FearsOff Cybersecurity), cette faille permet à un attaquant non authentifié de prendre le contrôle du processus Java simplement en envoyant une requête JSON malveillante. Dès le lendemain, ThreatBook a enregistré les premières tentatives d'exploitation active, confirmées ensuite par Imperva. La vulnérabilité concerne exclusivement les applications Spring Boot empaquetées sous forme de fat‑JAR exécutable, dans lesquelles le mode SafeMode est resté désactivé (condition par défaut). Au 25 juillet, date de la dernière mise à jour disponible, aucune correction n'avait encore été publiée pour la branche 1.x, rendant les mesures d'atténuation indispensables.

Analyse technique

La vulnérabilité réside dans le mécanisme de désérialisation basé sur la clé @type. Même lorsque l'AutoType est désactivé, une charge utile contenant un @type soigneusement construit déclenche une recherche de ressources (resource probe) qui, dans le contexte d'un fat‑JAR Spring Boot, récupère du bytecode contrôlé par l'attaquant via un chemin JAR imbriqué. Sur les JDK récents, l'exploit exploite le système de fichiers virtuel /proc/self/fd pour contourner les restrictions et obtenir une référence vers un JAR distant, sans nécessiter de gadgets préexistants dans le classpath.

La seule condition requise est que le serveur expose un endpoint qui analyse du JSON au moyen de méthodes telles que JSON.parse ou parseObject(String). La requête malveillante peut également être injectée à l'intérieur de champs Object ou Map imbriqués, rendant caduque toute protection fondée sur un contrôle superficiel du schéma. L'attaque est pré‑authentification, ne requiert aucune information d'identification et aboutit à l'exécution de code arbitraire avec les privilèges du processus Java.

Impact

La compromission est totale : de l'exfiltration de données à l'installation de logiciels malveillants, en passant par le déplacement latéral vers d'autres systèmes internes. Les premières campagnes, observées à partir du 22 juillet, ont principalement visé les secteurs de la finance, de la santé, de la distribution et de l'IT aux États‑Unis, avec des épisodes mineurs à Singapour et au Canada. Aucune donnée sur des compromissions confirmées n'a encore été diffusée, mais la facilité d'exploitation rend le risque concret pour toute organisation utilisant les versions concernées.

Le 23 juillet, le programme CISA‑ADP a évalué le niveau d'exploitation comme « absent » ; la CVE n'a donc pas été intégrée au catalogue Known Exploited Vulnerabilities. Cette évaluation contraste toutefois avec les preuves recueillies par les fournisseurs de sécurité, soulignant un tableau en évolution rapide.

Mitigation

Aucune version corrective n'étant prévue pour la branche 1.x – la version 1.2.83, jusqu'à hier la dernière stable, tombe désormais dans l'intervalle vulnérable – il est impératif d'adopter immédiatement l'une des contre‑mesures suivantes :

  • Activer le SafeMode en ajoutant le flag JVM -Dfastjson.parser.safeMode=true. Cela désactive radicalement la fonctionnalité @type, empêchant le déclenchement de l'exploit.
  • Remplacer la dépendance par l'artefact restreint com.alibaba:fastjson:1.2.83_noneautotype, qui inhibe la recherche de ressources tout en conservant la compatibilité avec le code existant.
  • Planifier la migration vers Fastjson2, qui n'utilise pas le même mécanisme de resource probe et n'est pas affecté par la vulnérabilité.

Actions complémentaires de détection et de durcissement :

  • Recenser toutes les occurrences de Fastjson (y compris transitives) dans les environnements de développement, de test et de production.
  • Surveiller les journaux à la recherche de @type associés à des chemins JAR imbriqués, des connexions réseau anormales, des créations de processus fils ou des écritures suspectes sur le système de fichiers (par exemple, des shells web).
  • Vérifier que les méthodes d'analyse n'acceptent pas de JSON provenant de sources non fiables, même lorsqu'elles sont liées en apparence à des classes fixes.

FAQ

Quelles sont exactement les versions de Fastjson vulnérables ?
Les versions 1.2.68 à 1.2.83 sont à risque, mais uniquement si l'application est un fat‑JAR exécutable Spring Boot et que le SafeMode n'a pas été activé (paramètre par défaut). Les JAR simples, les uber‑JAR génériques et les déploiements WAR sur Tomcat/Jetty ne présentent pas la condition nécessaire à l'exploitation.

Mon application est‑elle à risque même avec l'AutoType désactivé ?
Oui. L'attaque n'exploite pas la fonctionnalité AutoType, mais une recherche interne de ressources qui se déclenche à la réception d'un @type manipulé. Désactiver l'AutoType ne suffit pas à bloquer la charge utile, pas plus que l'absence de gadgets dans le classpath.

Je ne peux pas migrer immédiatement vers Fastjson2 : que dois‑je faire maintenant ?
Les deux mesures d'atténuation immédiates – activer le SafeMode ou adopter l'artefact 1.2.83_noneautotype – offrent une protection complète sans nécessiter de modification du code applicatif. Toutes deux sont rétrocompatibles et peuvent être appliquées sans délai, dans l'attente de finaliser le passage à Fastjson2.

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

CVE traitées dans cet article

Sujets liésFastjsonCVE-2026-16723RCESpring Bootdésérialisationvulnérabilité Javafaille sécurité
Retour à l'accueil