Insecure Deserialization
La désérialisation non sécurisée exécute du code arbitraire ou injecte des objets lors de la désérialisation de données non fiables ; une vulnérabilité du Top 10 OWASP.
Objectif
Comprendre le risque d'exécution de code de la désérialisation native du langage et ses défenses ; une vulnérabilité RCE courante en Java/Python/C#.
Mécanisme
Java ObjectInputStream.readObject, Python pickle.loads et similaires invoquent des méthodes définies par les objets pendant la désérialisation ; les attaquants forgent des données sérialisées malveillantes pour déclencher du code arbitraire. Défenses : listes blanches de types, JSON, vérification de signature.
Cas d’usage
- Vulnérabilités RCE en Java
- Sécurité de pickle en Python
- Défense de la désérialisation