Résumé exécutif
CVE-2026-16723 est une vulnérabilité critique (CVSS 9.0, score attribué par Alibaba) affectant Fastjson, la bibliothèque JSON pour Java d'Alibaba, dans ses versions 1.2.68 à 1.2.83. Divulguée le 21 juillet 2026 par Kirill Firsov de FearsOff Cybersecurity selon un processus de divulgation responsable, la faille permet à un attaquant non authentifié d'exécuter du code arbitraire dans les applications Spring Boot déployées sous forme de fat-JAR exécutable, sans activer AutoType et sans nécessiter de gadget de classpath, les deux conditions habituellement associées aux exploits Fastjson historiques. ThreatBook a confirmé une exploitation active dès le 22 juillet, et Imperva a observé des tentatives contre des organisations des secteurs financier, santé, informatique et retail, majoritairement aux États-Unis. Au 25 juillet 2026, Alibaba n'avait publié aucune version corrigée de la branche 1.x.
Le sujet est prioritaire pour deux raisons distinctes. D'une part, la chaîne d'exploitation contourne les protections historiques contre les attaques Fastjson (désactivation d'AutoType) en s'appuyant sur la résolution de type via une valeur @type détournée vers une recherche de ressource de classe, ce qui invalide une partie du modèle de défense standard déployé depuis des années sur ces applications. D'autre part, l'absence de correctif pour la branche 1.x, alors que Fastjson 1.2.83 était déjà la version de référence recommandée après un contournement AutoType distinct signalé en 2022, laisse les équipes sans option de mise à jour immédiate et impose une mitigation de configuration en attendant une migration vers Fastjson2, qui n'est pas affecté par ce chemin d'exploitation.
Chronologie
| Date | Événement |
|---|---|
| 2022 | Contournement AutoType distinct sur Fastjson, 1.2.83 recommandé comme version de référence |
| 21 juillet 2026 | Publication de l'avis de sécurité Alibaba après divulgation responsable de Kirill Firsov (FearsOff) |
| 22 juillet 2026 | ThreatBook ajoute une signature de détection puis capture une exploitation active en conditions réelles |
| 23 juillet 2026 | Une évaluation CISA-ADP classe l'exploitation comme « none » dans la fiche NVD |
| 25 juillet 2026 | Imperva publie son rapport d'activité observée ; The Hacker News confirme l'absence de CVE-2026-16723 du catalogue KEV de la CISA et l'absence de version 1.x corrigée sur GitHub et Maven Central |
Fiche vulnérabilité (format fiche CTI)
CVE-2026-16723 | CVSS 9.0 | Fastjson 1.2.68 à 1.2.83 (bibliothèque JSON Java d'Alibaba), déploiements Spring Boot fat-JAR
Description technique : Firsov a tracé le défaut jusqu'au chemin de résolution de type de Fastjson. Une valeur @type contrôlée par l'attaquant peut être transformée en recherche de ressource de classe. Dans un fat-JAR Spring Boot compatible, un chemin de JAR imbriqué forgé permet de récupérer du bytecode contrôlé par l'attaquant. Une annotation @JSONType présente dans cette ressource peut alors être traitée comme un signal de confiance, ce qui permet à la classe de passer les contrôles de type de Fastjson et de se charger. Son analyse technique décrit également une variante ciblant les JDK récents, qui télécharge un JAR distant et le référence via /proc/self/fd.
Conditions d'exploitation : Fastjson en version 1.2.68 à 1.2.83, déploiement en fat-JAR exécutable Spring Boot (les JAR non-fat classiques, les uber-JAR génériques et les déploiements WAR sous Tomcat ou Jetty ne sont pas concernés), un chemin réseau atteignant un parseur affecté avec du JSON contrôlé par l'attaquant, et SafeMode laissé à sa valeur par défaut désactivée. AutoType peut rester désactivé, aucun gadget de classpath n'est nécessaire. Points d'entrée atteignables : JSON.parse, JSON.parseObject(String), JSON.parseObject(String, Class) ; lier l'entrée à une classe fixe ne suffit pas si l'objet contient un champ Object ou Map dans lequel la charge peut être imbriquée. Chaîne vérifiée par les mainteneurs sur Spring Boot 2.x, 3.x et 4.x avec JDK 8, 11, 17 et 21.
PoC disponible : les détails techniques de la chaîne sont publiés (avis Alibaba et analyse FearsOff), mais aucune preuve de concept complète prête à l'emploi n'a été identifiée dans les sources consultées. ThreatBook a reproduit l'exécution de code complète en environnement fat-JAR sur JDK 8 ; ses tests en Tomcat embarqué n'ont produit qu'une récupération de JAR distant ou une SSRF, sans confirmer l'exécution de code dans cette configuration. Imperva et ThreatBook n'ont publié ni volumétrie d'attaques précise, ni requêtes brutes, ni preuve d'exécution de code, ni victimes nommées : leurs rapports établissent une activité d'exploitation observée, pas la preuve d'une compromission réussie contre une cible réelle.
Patch/mitigation : aucune version 1.x corrigée n'est disponible au 25 juillet 2026. Activer SafeMode via -Dfastjson.parser.safeMode=true, ou utiliser la distribution restreinte com.alibaba:fastjson:1.2.83_noneautotype. Alibaba recommande la migration vers Fastjson2, qui n'utilise pas le même chemin de sondage de ressource ni le même modèle de confiance basé sur les annotations.
Diagramme de la chaîne d'attaque

Reconstruction à partir de l'avis de sécurité Alibaba du 21 juillet 2026, de l'analyse FearsOff, des rapports ThreatBook et Imperva, et de la couverture The Hacker News du 25 juillet 2026.
Analyse technique
Étape 1 : requête JSON forgée vers un point d'entrée Fastjson atteignable
L'attaquant envoie une requête réseau contenant du JSON contrôlé vers une application Spring Boot fat-JAR qui transmet cette entrée à JSON.parse, JSON.parseObject(String) ou JSON.parseObject(String, Class). Le champ @type de la charge cible une classe dont la résolution va détourner le comportement normal du parseur.
Étape 2 : détournement de la résolution de type vers une recherche de ressource de classe
Contrairement aux exploits Fastjson historiques qui reposent sur AutoType activé pour instancier des classes gadget arbitraires, cette chaîne exploite le mécanisme de résolution de type lui-même : la valeur @type est convertie en recherche de ressource de classe plutôt qu'en instanciation directe, contournant ainsi la protection SafeMode/AutoType lorsque celle-ci ne couvre pas ce chemin spécifique.
Étape 3 : récupération de bytecode via un chemin de JAR imbriqué forgé
Dans le contexte spécifique d'un fat-JAR Spring Boot, la structure d'archive imbriquée (JAR dans JAR, propre au chargeur de classe exécutable de Spring Boot) permet de construire un chemin de ressource qui pointe vers du bytecode contrôlé par l'attaquant. Sur les JDK récents, une variante télécharge un JAR distant et le référence via le pseudo-fichier /proc/self/fd, contournant certaines restrictions de chargement local.
Étape 4 : abus de l'annotation @JSONType comme signal de confiance
Une fois la ressource atteinte, une annotation @JSONType présente dans le bytecode récupéré est traitée par Fastjson comme un signal de confiance suffisant pour laisser la classe franchir les contrôles de type internes. C'est ce détournement du mécanisme d'annotation, plutôt qu'une simple absence de contrôle, qui permet à la classe de se charger malgré SafeMode désactivé par défaut.
Étape 5 : exécution de code avec les privilèges du processus Java
La classe chargée s'exécute avec les privilèges du processus Java hébergeant l'application Spring Boot, donnant à l'attaquant un point d'exécution de code arbitraire sans avoir eu besoin d'identifiants ni d'interaction utilisateur.
Indicateurs de compromission
Ni Imperva ni ThreatBook n'ont publié d'indicateurs réseau exploitables (IP, domaines, hashs) associés à cette campagne au moment de la rédaction. La détection repose sur l'inspection du contenu des requêtes et sur la télémétrie applicative.
| Type | Valeur |
|---|---|
| Champ JSON suspect | Valeur @type détournée vers une recherche de ressource de classe |
| Artefact réseau | Chemin de JAR imbriqué forgé dans une requête vers un endpoint Fastjson atteignable |
| Artefact système (JDK récents) | Référence à un JAR distant via /proc/self/fd |
| Origine des requêtes observées (Imperva) | Majoritairement États-Unis, volumes plus faibles à Singapour et au Canada |
| Outils générant le trafic (Imperva) | Imitateurs de navigateur pour la majorité des requêtes, outils Ruby et Go pour environ 30 % combinés |
| IOC réseau nommés (IP, domaines, hashs) | Non publiés dans les sources consultées |
MITRE ATT&CK
Aucune cartographie officielle n'a été publiée par Alibaba, FearsOff, ThreatBook ou Imperva pour cette vulnérabilité. Le tableau suivant est une lecture technique construite à partir des éléments confirmés, pas une attribution vendeur.
| Tactique | Technique | ID | Justification |
|---|---|---|---|
| Initial Access | Exploit Public-Facing Application | T1190 | Requête JSON non authentifiée envoyée à un endpoint Spring Boot atteignable |
| Execution | Exploitation for Client Execution (adapté serveur Java) | T1203 | Chargement et exécution de bytecode via le détournement de résolution de type Fastjson |
| Defense Evasion | Deobfuscate/Decode Files or Information | T1140 | Abus de l'annotation @JSONType comme signal de confiance pour contourner les contrôles de type |
| Command and Control | Ingress Tool Transfer | T1105 | Récupération de bytecode ou de JAR distant via chemin de ressource forgé ou /proc/self/fd |
Remédiation : checklist opérationnelle
- Inventorier toutes les dépendances directes et transitives Fastjson 1.x dans les applications Java, avec une attention particulière aux fat-JAR Spring Boot exécutables.
- Activer SafeMode immédiatement sur tout composant Fastjson 1.x exposé, via -Dfastjson.parser.safeMode=true, ou basculer vers la distribution restreinte 1.2.83_noneautotype.
- Prioriser la migration vers Fastjson2, qui n'est pas affecté par ce chemin de résolution de type basé sur les annotations.
- Auditer les points d'entrée atteignables (JSON.parse, JSON.parseObject) pour identifier les objets contenant des champs Object ou Map susceptibles d'accueillir une charge imbriquée, même lorsque le type de liaison semble fixe.
- Inspecter les systèmes potentiellement affectés pour des valeurs @type suspectes, des chemins de JAR imbriqués anormaux, des connexions sortantes inattendues, des processus enfants inhabituels, des modifications de fichiers ou des web shells.
- Surveiller spécifiquement les références à /proc/self/fd dans les journaux applicatifs sur les déploiements utilisant des JDK récents.
- Ne pas se fier à la seule absence de CVE-2026-16723 dans le catalogue KEV de la CISA pour prioriser le traitement : plusieurs éditeurs indépendants confirment une exploitation active malgré l'écart avec l'évaluation CISA-ADP publiée le 23 juillet.
Sources
- Fastjson 1.x RCE Vulnerability Targeted in Attacks With No Patched Available, The Hacker News
- Security Advisory: Remote Code Execution in fastjson 1.2.68-1.2.83, Alibaba (GitHub fastjson2 wiki)
- Fastjson 1.2.83 RCE technical analysis, FearsOff
- Fastjson RCE 1.2.83, active exploitation detected, detection and mitigation, ThreatBook
- Imperva Customers Protected Against CVE-2026-16723, Critical FastJson 1.x Zero-Day RCE, Imperva
- CVE-2026-16723, NVD