La GCSA Global Cybersecurity Alliance a publié un rapport détaillant une exploitation RCE de Fastjson 1.2.83 reproduite sur plusieurs versions de JDK.
La GCSA Global Cybersecurity Alliance a aujourd'hui exclusivement publié un rapport d'analyse technique : Fastjson 1.2.83 peut déclencher une exécution de code à distance (RCE) sans dépendre des dépendances Gadget traditionnelles, même avec le paramètre par défaut AutoType=false. Cette technique d'exploitation a été reproduite avec succès de bout en bout sur JDK 8, 17, 21 et 25, ainsi que dans des environnements isolés Spring Boot Loader.
Cette vulnérabilité n'est pas une attaque traditionnelle de « contournement de la liste noire pour trouver un Gadget local ». Au lieu de cela, elle subvertit directement la logique de détection des métadonnées de classe de Fastjson pour servir de canal d'acquisition de classes malveillantes à distance. Un attaquant qui peut contrôler l'entrée JSON analysée par Fastjson — avec SafeMode désactivé et un accès réseau sortant disponible — peut réaliser une exécution de code à distance sans authentification, sans nécessiter de dépendances Gadget traditionnelles préinstallées (telles que TemplatesImpl, JNDI ou Commons Collections) dans le classpath cible.
Les résultats de reproduction confirment que la même charge utile JSON permet une RCE réussie sur Temurin JDK 8, 17, 21 et 25 avec des environnements Spring Boot Loader. La vulnérabilité est évaluée comme étant de gravité élevée : le vecteur d'attaque est réseau à distance, ne nécessite aucune interaction de l'utilisateur, et l'impact sur la confidentialité, l'intégrité et la disponibilité est tous évalué comme élevé.
Principales conclusions
« AutoType est désactivé par défaut, donc c'est sûr » — Invalide
« Deuxième paramètre de parseObject corrigé, donc c'est sûr » — Invalide
« Aucun Gadget connu dans le classpath, donc c'est sûr » — Invalide
« JDK 17+ rejette les noms internes http://, donc au pire c'est juste du SSRF » — Invalide
Recommandations de défense
- Activez immédiatement SafeMode : ParserConfig.getGlobalInstance().setSafeMode(true);
- Migrez vers Fastjson 2.x en priorité et effectuez des tests de régression complets
- Restreignez les politiques réseau sortantes : bloquez les connexions HTTP JVM vers des adresses externes non essentielles
- Déployez des règles WAF/passerelle pour bloquer les requêtes JSON où la clé décodée est égale à @type






