Iconos SCW
héroe bg sin separador
Blog

修补反序列化漏洞的困难

Pieter De Cremer
Publicado el 11 de septiembre de 2017
Última actualización el 9 de marzo de 2026

La semana pasada, se informó de que una posible causa detrás de la violación de datos de Equifax era una vulnerabilidad en el plugin REST de Apache Struts. La versión más antigua del plugin es vulnerable a ataques de Ejecución Remota de Código cuando se utiliza con el manejador XStream para manejar cargas útiles XML. La causa es la deserialización de datos no confiables, que es un tipo de vulnerabilidad bien conocido. La vulnerabilidad, reconocida oficialmente como CVE-2017-9805, fue parcheada por Apache el 5 de septiembre en la versión 2.5.13 de Struts. Entonces se anunció y se documentó claramente en la documentación de Apache Struts.

La simple actualización a la versión más reciente de Struts puede proteger la aplicación de este ataque, así que ¿por qué las empresas no se actualizan inmediatamente? El problema con las vulnerabilidades de deserialización es que las rutinas que están siendo explotadas son a menudo aquellas en las que se basa el código de la aplicación. En este caso, aplicar el nuevo parche de Struts podría tener algunos efectos secundarios, como menciona la documentación sobre la vulnerabilidad: "Es posible que algunas acciones REST dejen de funcionar debido a las restricciones aplicadas por defecto a las clases disponibles". Es muy probable que asegurarse de que la aplicación siga funcionando en las nuevas versiones de Struts lleve algún tiempo.

Los hackers, sin embargo, no necesitan tanto tiempo para empezar a abusar de las vulnerabilidades publicadas, y ya podemos ver algunos exploits publicados. Un módulo de Metasploit fue añadido el 8 de septiembre, es decir, tres días después de que Apache parchease la vulnerabilidad. Está claro que posponer el parche no es una buena idea.

La solución es aplicar una solución sugerida por Apache, que podría hacerse en un plazo más corto. Una herramienta de seguridad con directrices de codificación configurables para hacer cumplir esta solución o incluso aplicarla automáticamente aceleraría enormemente este proceso.

¿Quiere saber más sobre cómo identificar y asegurar el código que contiene la deserialización de datos no fiables? Visite el portal Secure Code Warrior para obtener una explicación clara y un reto de formación.

La vulnerabilidad está relacionada con la forma en que Struts analiza ese tipo de datos y los convierte en información que puede ser interpretada por el lenguaje de programación Java. Cuando la vulnerabilidad se explota con éxito, se puede ocultar código malicioso dentro de esos datos y ejecutarlo cuando Struts intenta convertirlos.

https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

Ver recursos
Ver recursos

该漏洞与 Struts 如何解析此类数据并将其转换为 Java 编程语言可以解释的信息有关。

¿Te interesa saber más?

Investigador de seguridad de aplicaciones - Ingeniero de I+D - Candidato a doctor

Más información

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Pieter De Cremer
Publicado el 11 de septiembre de 2017

Investigador de seguridad de aplicaciones - Ingeniero de I+D - Candidato a doctor

Compartir en:
marcas de LinkedInSocialx logotipo

La semana pasada, se informó de que una posible causa detrás de la violación de datos de Equifax era una vulnerabilidad en el plugin REST de Apache Struts. La versión más antigua del plugin es vulnerable a ataques de Ejecución Remota de Código cuando se utiliza con el manejador XStream para manejar cargas útiles XML. La causa es la deserialización de datos no confiables, que es un tipo de vulnerabilidad bien conocido. La vulnerabilidad, reconocida oficialmente como CVE-2017-9805, fue parcheada por Apache el 5 de septiembre en la versión 2.5.13 de Struts. Entonces se anunció y se documentó claramente en la documentación de Apache Struts.

La simple actualización a la versión más reciente de Struts puede proteger la aplicación de este ataque, así que ¿por qué las empresas no se actualizan inmediatamente? El problema con las vulnerabilidades de deserialización es que las rutinas que están siendo explotadas son a menudo aquellas en las que se basa el código de la aplicación. En este caso, aplicar el nuevo parche de Struts podría tener algunos efectos secundarios, como menciona la documentación sobre la vulnerabilidad: "Es posible que algunas acciones REST dejen de funcionar debido a las restricciones aplicadas por defecto a las clases disponibles". Es muy probable que asegurarse de que la aplicación siga funcionando en las nuevas versiones de Struts lleve algún tiempo.

Los hackers, sin embargo, no necesitan tanto tiempo para empezar a abusar de las vulnerabilidades publicadas, y ya podemos ver algunos exploits publicados. Un módulo de Metasploit fue añadido el 8 de septiembre, es decir, tres días después de que Apache parchease la vulnerabilidad. Está claro que posponer el parche no es una buena idea.

La solución es aplicar una solución sugerida por Apache, que podría hacerse en un plazo más corto. Una herramienta de seguridad con directrices de codificación configurables para hacer cumplir esta solución o incluso aplicarla automáticamente aceleraría enormemente este proceso.

¿Quiere saber más sobre cómo identificar y asegurar el código que contiene la deserialización de datos no fiables? Visite el portal Secure Code Warrior para obtener una explicación clara y un reto de formación.

La vulnerabilidad está relacionada con la forma en que Struts analiza ese tipo de datos y los convierte en información que puede ser interpretada por el lenguaje de programación Java. Cuando la vulnerabilidad se explota con éxito, se puede ocultar código malicioso dentro de esos datos y ejecutarlo cuando Struts intenta convertirlos.

https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

Ver recursos
Ver recursos

Rellene el siguiente formulario para descargar el informe.

Nos gustaría obtener su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Trataremos su información personal con el máximo cuidado y nunca la venderemos a otras empresas con fines comerciales.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, habilite las cookies de análisis. Una vez completado, puede desactivarlas nuevamente si lo desea.

La semana pasada, se informó de que una posible causa detrás de la violación de datos de Equifax era una vulnerabilidad en el plugin REST de Apache Struts. La versión más antigua del plugin es vulnerable a ataques de Ejecución Remota de Código cuando se utiliza con el manejador XStream para manejar cargas útiles XML. La causa es la deserialización de datos no confiables, que es un tipo de vulnerabilidad bien conocido. La vulnerabilidad, reconocida oficialmente como CVE-2017-9805, fue parcheada por Apache el 5 de septiembre en la versión 2.5.13 de Struts. Entonces se anunció y se documentó claramente en la documentación de Apache Struts.

La simple actualización a la versión más reciente de Struts puede proteger la aplicación de este ataque, así que ¿por qué las empresas no se actualizan inmediatamente? El problema con las vulnerabilidades de deserialización es que las rutinas que están siendo explotadas son a menudo aquellas en las que se basa el código de la aplicación. En este caso, aplicar el nuevo parche de Struts podría tener algunos efectos secundarios, como menciona la documentación sobre la vulnerabilidad: "Es posible que algunas acciones REST dejen de funcionar debido a las restricciones aplicadas por defecto a las clases disponibles". Es muy probable que asegurarse de que la aplicación siga funcionando en las nuevas versiones de Struts lleve algún tiempo.

Los hackers, sin embargo, no necesitan tanto tiempo para empezar a abusar de las vulnerabilidades publicadas, y ya podemos ver algunos exploits publicados. Un módulo de Metasploit fue añadido el 8 de septiembre, es decir, tres días después de que Apache parchease la vulnerabilidad. Está claro que posponer el parche no es una buena idea.

La solución es aplicar una solución sugerida por Apache, que podría hacerse en un plazo más corto. Una herramienta de seguridad con directrices de codificación configurables para hacer cumplir esta solución o incluso aplicarla automáticamente aceleraría enormemente este proceso.

¿Quiere saber más sobre cómo identificar y asegurar el código que contiene la deserialización de datos no fiables? Visite el portal Secure Code Warrior para obtener una explicación clara y un reto de formación.

La vulnerabilidad está relacionada con la forma en que Struts analiza ese tipo de datos y los convierte en información que puede ser interpretada por el lenguaje de programación Java. Cuando la vulnerabilidad se explota con éxito, se puede ocultar código malicioso dentro de esos datos y ejecutarlo cuando Struts intenta convertirlos.

https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

Ver el seminario web
Empecemos.
Más información

Haga clic en el siguiente enlace y descargue el PDF de este recurso.

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recursos
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Pieter De Cremer
Publicado el 11 de septiembre de 2017

Investigador de seguridad de aplicaciones - Ingeniero de I+D - Candidato a doctor

Compartir en:
marcas de LinkedInSocialx logotipo

La semana pasada, se informó de que una posible causa detrás de la violación de datos de Equifax era una vulnerabilidad en el plugin REST de Apache Struts. La versión más antigua del plugin es vulnerable a ataques de Ejecución Remota de Código cuando se utiliza con el manejador XStream para manejar cargas útiles XML. La causa es la deserialización de datos no confiables, que es un tipo de vulnerabilidad bien conocido. La vulnerabilidad, reconocida oficialmente como CVE-2017-9805, fue parcheada por Apache el 5 de septiembre en la versión 2.5.13 de Struts. Entonces se anunció y se documentó claramente en la documentación de Apache Struts.

La simple actualización a la versión más reciente de Struts puede proteger la aplicación de este ataque, así que ¿por qué las empresas no se actualizan inmediatamente? El problema con las vulnerabilidades de deserialización es que las rutinas que están siendo explotadas son a menudo aquellas en las que se basa el código de la aplicación. En este caso, aplicar el nuevo parche de Struts podría tener algunos efectos secundarios, como menciona la documentación sobre la vulnerabilidad: "Es posible que algunas acciones REST dejen de funcionar debido a las restricciones aplicadas por defecto a las clases disponibles". Es muy probable que asegurarse de que la aplicación siga funcionando en las nuevas versiones de Struts lleve algún tiempo.

Los hackers, sin embargo, no necesitan tanto tiempo para empezar a abusar de las vulnerabilidades publicadas, y ya podemos ver algunos exploits publicados. Un módulo de Metasploit fue añadido el 8 de septiembre, es decir, tres días después de que Apache parchease la vulnerabilidad. Está claro que posponer el parche no es una buena idea.

La solución es aplicar una solución sugerida por Apache, que podría hacerse en un plazo más corto. Una herramienta de seguridad con directrices de codificación configurables para hacer cumplir esta solución o incluso aplicarla automáticamente aceleraría enormemente este proceso.

¿Quiere saber más sobre cómo identificar y asegurar el código que contiene la deserialización de datos no fiables? Visite el portal Secure Code Warrior para obtener una explicación clara y un reto de formación.

La vulnerabilidad está relacionada con la forma en que Struts analiza ese tipo de datos y los convierte en información que puede ser interpretada por el lenguaje de programación Java. Cuando la vulnerabilidad se explota con éxito, se puede ocultar código malicioso dentro de esos datos y ejecutarlo cuando Struts intenta convertirlos.

https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

Índice

Descargar PDF
Ver recursos
¿Te interesa saber más?

Investigador de seguridad de aplicaciones - Ingeniero de I+D - Candidato a doctor

Más información

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones