Deserialización insegura
¿Qué es Deserialización insegura?
Deserialización inseguraVulnerabilidad en la que una aplicación deserializa datos no confiables, permitiendo al atacante instanciar objetos arbitrarios y, a menudo, lograr ejecución remota de código.
Cuando una aplicación convierte datos serializados (formatos binarios de Java/PHP/Python/.NET, YAML o JSON con metadatos de tipo) de nuevo en objetos, el deserializador puede invocar constructores, métodos mágicos o cadenas de gadgets. Con entradas no confiables, los atacantes construyen payloads que disparan comportamiento peligroso durante la deserialización: RCE, bypass de autenticación, escritura de ficheros o DoS. Cadenas de gadgets en librerías como Apache Commons Collections (Java), Pickle (Python) o BinaryFormatter de .NET han causado incidentes críticos. Defensas: evitar deserializar datos no confiables, usar formatos sin recuperación de tipos (JSON plano con esquemas explícitos), firmar los payloads, listas blancas de tipos deserializables y parchear los runtimes.
● Ejemplos
- 01
App Java que deserializa una cookie de sesión con Commons Collections en el classpath, provocando RCE.
- 02
Servicio Python que ejecuta pickle.loads sobre bytes controlados por el usuario.
● Preguntas frecuentes
¿Qué es Deserialización insegura?
Vulnerabilidad en la que una aplicación deserializa datos no confiables, permitiendo al atacante instanciar objetos arbitrarios y, a menudo, lograr ejecución remota de código. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.
¿Qué significa Deserialización insegura?
Vulnerabilidad en la que una aplicación deserializa datos no confiables, permitiendo al atacante instanciar objetos arbitrarios y, a menudo, lograr ejecución remota de código.
¿Cómo defenderse de Deserialización insegura?
Las defensas contra Deserialización insegura combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Deserialización insegura?
Nombres alternativos comunes: Deserialización no segura, Vulnerabilidad de deserialización de objetos.