Blog

La dificultad de parchear las vulnerabilidades de deserialización

Pieter De Cremer
Publicado el 11 de septiembre de 2017

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 recurso
Ver recurso

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.

¿Quiere saber más?

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

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.

Reservar una demostración
Compartir en:
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:

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 recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe

Nos gustaría contar con su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.

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/

Acceso a recursos

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

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.

Ver el informeReservar una demostración
Descargar PDF
Ver recurso
Compartir en:
¿Quiere saber más?

Compartir en:
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:

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 recurso
¿Quiere saber más?

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

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.

Reservar una demostraciónDescargar
Compartir en:
Centro de recursos

Recursos para empezar

Más entradas
Centro de recursos

Recursos para empezar

Más entradas