Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Insecure Deserialization (Désérialisation non sécurisée)

hacking

Définition

La désérialisation non sécurisée est une vulnérabilité critique survenant lorsqu'une application reconstruit des objets à partir de données sérialisées sans validation suffisante, permettant à un attaquant de manipuler ces données pour provoquer des comportements non désirés. Les formats concernés incluent Java Serialization, PHP serialize(), Python pickle, Ruby Marshal et les formats binaires comme AMF. En Java, des bibliothèques populaires comme Apache Commons Collections ont été exploitées via des gadget chains — séquences de méthodes légitimes enchaînées pour obtenir l'exécution de code arbitraire (RCE) lors de la désérialisation. Des outils comme ysoserial et GadgetProbe facilitent l'identification et l'exploitation de ces chaînes. Classée A8 dans OWASP Top 10, cette vulnérabilité touche de nombreux frameworks enterprise. La défense exige d'éviter la désérialisation de données non fiables, d'utiliser des formats plus sûrs comme JSON avec schéma de validation, d'implémenter une liste blanche de classes désérialisables, et de surveiller les exceptions lors de la désérialisation.

Description

La désérialisation non sécurisée reconstruit des objets depuis des données sérialisées sans validation suffisante, permettant de manipuler ces données pour obtenir une exécution de code arbitraire (RCE). Les formats Java, PHP serialize(), Python pickle et Ruby Marshal sont particulièrement vulnérables.

Exploitation

Des gadget chains dans des bibliothèques comme Apache Commons Collections permettent d'enchaîner des méthodes légitimes pour exécuter du code arbitraire lors de la désérialisation. L'outil ysoserial génère des payloads pour les principales bibliothèques Java vulnérables.

Défense

  • Éviter la désérialisation de données non fiables et préférer des formats sûrs comme JSON avec schéma strict
  • Implémenter une liste blanche de classes autorisées à la désérialisation
  • Surveiller les exceptions de désérialisation et déployer un agent RASP pour détecter les gadget chains

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis