Blog

Experimente el impacto de la vulnerabilidad Path Traversal, culpable de los recientes problemas de Apache

Charlie Eriksen
Publicado el 18 de octubre de 2021

A principios de octubre, Apache lanzó la versión 2.4.49 para corregir una vulnerabilidad de Path Traversal y Ejecución Remota de Código y posteriormente la 2.4.50 para solucionar el hecho de que la corrección de la 2.4.49 estaba incompleta. Quizás hayas visto en las redes sociales la importancia de actualizar a la última versión para evitar estos riesgos, dado que Apache alimenta el 25% de Internet según algunas estimaciones. Pero, ¿cuál es el problema? ¿Qué riesgo existe en este caso?

¿Por qué no lo pruebas tú mismo? 

Hemos creado una misión para demostrar los riesgos en un entorno real y la hemos hecho pública para que todos puedan probarla. En esta misión, le mostraremos cómo la vulnerabilidad Path Traversal puede afectar a su infraestructura y aplicaciones. Haga clic a continuación para entrar directamente, o continúe leyendo para aprender más sobre la vulnerabilidad en detalle.

Banner que dice que pruebe la Misión Apache CVE-2021-41773
Ir a la Misión pública


Acerca de la vulnerabilidad Path Traversal 

La vulnerabilidad se introdujo en la versión 2.4.49(debido a un cambio en la función de normalización de URL), donde se introdujo una nueva función de normalización de rutas. Desgraciadamente, no normalizó correctamente las rutas codificadas en la URL. Esto hace que sea posible realizar un ataque de path traversal si la siguiente configuración no está presente:

Denegar o permitir el acceso al sistema de archivos del directorio


Y si mod_cgi está habilitado, también puede ser aprovechado en una vulnerabilidad de Ejecución Remota de Código. Pero primero vamos a profundizar en la codificación de la URL para entender mejor lo que salió mal.

Codificación de la URL

En su forma más básica, la vulnerabilidad se produce debido a la falta de consideración de las URL con codificación de URL. La función de normalización de rutas introducida recientemente no manejaba completamente los casos en los que los puntos estaban codificados como URL. 

Recuerde que para llevar a cabo un ataque de travesía de ruta, necesitará atravesar con la secuencia ../. La función de normalización, sin embargo, es lo suficientemente inteligente como para eliminar eso. Entonces, ¿qué se puede hacer? Puede codificar la URL con un .(punto) hasta %2e, y utilizar una secuencia como .%2e/. Eso funcionaría en muchos casos contra Apache 2.4.40. Pero también puede ir un paso más allá y codificarla doblemente. La versión codificada de la URL de . %2e/ es .%252e/. Esto puede evitar el intento de normalización por parte de Apache.

Pero hay una trampa

Si alguien quisiera intentar explotar esta vulnerabilidad directamente en su navegador, no tendría éxito. Esto se debe a que los navegadores también intentan normalizar las URL que se envían a los servidores. Esto significa que incluso nuestra secuencia doblemente codificada será eliminada. También significa que no podemos usar simplemente un navegador para demostrar esto.

Puede utilizar cURL para demostrarlo utilizando la bandera --path-as-is , que impide que normalice la URL antes de enviarla:

Ruta de curl como es el código con el enlace

Prevención y mitigación

Para evitar completamente el problema, es importante mantenerse al día con los últimos parches de Apache. Específicamente, usted querrá actualizar a 2.4.51 como mínimo. Pero es una buena práctica para actualizar en un horario regular para mantenerse al día.

Para mitigar este problema si está ejecutando la versión 2.4.49, asegúrese de haber incluido lo siguiente en su configuración de Apache:

Etiquetas de código de directorio con allowoverride none y require all denied rules

Y para evitar la ejecución remota de código, desactive mod_cgi si no lo utiliza.

Experimente usted mismo el impacto

¿Está interesado en explorar exactamente lo que ocurrió y probarlo usted mismo? 


Ver recurso
Ver recurso

A principios de octubre, Apache lanzó la versión 2.4.49 para corregir una vulnerabilidad de Path Traversal y Ejecución Remota de Código y luego la 2.4.50 para solucionar el hecho de que la corrección era incompleta. Hemos creado una misión para demostrar los riesgos en un entorno real. Pruébalo ahora.

¿Quiere saber más?

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
Charlie Eriksen
Publicado el 18 de octubre de 2021

Compartir en:

A principios de octubre, Apache lanzó la versión 2.4.49 para corregir una vulnerabilidad de Path Traversal y Ejecución Remota de Código y posteriormente la 2.4.50 para solucionar el hecho de que la corrección de la 2.4.49 estaba incompleta. Quizás hayas visto en las redes sociales la importancia de actualizar a la última versión para evitar estos riesgos, dado que Apache alimenta el 25% de Internet según algunas estimaciones. Pero, ¿cuál es el problema? ¿Qué riesgo existe en este caso?

¿Por qué no lo pruebas tú mismo? 

Hemos creado una misión para demostrar los riesgos en un entorno real y la hemos hecho pública para que todos puedan probarla. En esta misión, le mostraremos cómo la vulnerabilidad Path Traversal puede afectar a su infraestructura y aplicaciones. Haga clic a continuación para entrar directamente, o continúe leyendo para aprender más sobre la vulnerabilidad en detalle.

Banner que dice que pruebe la Misión Apache CVE-2021-41773
Ir a la Misión pública


Acerca de la vulnerabilidad Path Traversal 

La vulnerabilidad se introdujo en la versión 2.4.49(debido a un cambio en la función de normalización de URL), donde se introdujo una nueva función de normalización de rutas. Desgraciadamente, no normalizó correctamente las rutas codificadas en la URL. Esto hace que sea posible realizar un ataque de path traversal si la siguiente configuración no está presente:

Denegar o permitir el acceso al sistema de archivos del directorio


Y si mod_cgi está habilitado, también puede ser aprovechado en una vulnerabilidad de Ejecución Remota de Código. Pero primero vamos a profundizar en la codificación de la URL para entender mejor lo que salió mal.

Codificación de la URL

En su forma más básica, la vulnerabilidad se produce debido a la falta de consideración de las URL con codificación de URL. La función de normalización de rutas introducida recientemente no manejaba completamente los casos en los que los puntos estaban codificados como URL. 

Recuerde que para llevar a cabo un ataque de travesía de ruta, necesitará atravesar con la secuencia ../. La función de normalización, sin embargo, es lo suficientemente inteligente como para eliminar eso. Entonces, ¿qué se puede hacer? Puede codificar la URL con un .(punto) hasta %2e, y utilizar una secuencia como .%2e/. Eso funcionaría en muchos casos contra Apache 2.4.40. Pero también puede ir un paso más allá y codificarla doblemente. La versión codificada de la URL de . %2e/ es .%252e/. Esto puede evitar el intento de normalización por parte de Apache.

Pero hay una trampa

Si alguien quisiera intentar explotar esta vulnerabilidad directamente en su navegador, no tendría éxito. Esto se debe a que los navegadores también intentan normalizar las URL que se envían a los servidores. Esto significa que incluso nuestra secuencia doblemente codificada será eliminada. También significa que no podemos usar simplemente un navegador para demostrar esto.

Puede utilizar cURL para demostrarlo utilizando la bandera --path-as-is , que impide que normalice la URL antes de enviarla:

Ruta de curl como es el código con el enlace

Prevención y mitigación

Para evitar completamente el problema, es importante mantenerse al día con los últimos parches de Apache. Específicamente, usted querrá actualizar a 2.4.51 como mínimo. Pero es una buena práctica para actualizar en un horario regular para mantenerse al día.

Para mitigar este problema si está ejecutando la versión 2.4.49, asegúrese de haber incluido lo siguiente en su configuración de Apache:

Etiquetas de código de directorio con allowoverride none y require all denied rules

Y para evitar la ejecución remota de código, desactive mod_cgi si no lo utiliza.

Experimente usted mismo el impacto

¿Está interesado en explorar exactamente lo que ocurrió y probarlo usted mismo? 


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.

A principios de octubre, Apache lanzó la versión 2.4.49 para corregir una vulnerabilidad de Path Traversal y Ejecución Remota de Código y posteriormente la 2.4.50 para solucionar el hecho de que la corrección de la 2.4.49 estaba incompleta. Quizás hayas visto en las redes sociales la importancia de actualizar a la última versión para evitar estos riesgos, dado que Apache alimenta el 25% de Internet según algunas estimaciones. Pero, ¿cuál es el problema? ¿Qué riesgo existe en este caso?

¿Por qué no lo pruebas tú mismo? 

Hemos creado una misión para demostrar los riesgos en un entorno real y la hemos hecho pública para que todos puedan probarla. En esta misión, le mostraremos cómo la vulnerabilidad Path Traversal puede afectar a su infraestructura y aplicaciones. Haga clic a continuación para entrar directamente, o continúe leyendo para aprender más sobre la vulnerabilidad en detalle.

Banner que dice que pruebe la Misión Apache CVE-2021-41773
Ir a la Misión pública


Acerca de la vulnerabilidad Path Traversal 

La vulnerabilidad se introdujo en la versión 2.4.49(debido a un cambio en la función de normalización de URL), donde se introdujo una nueva función de normalización de rutas. Desgraciadamente, no normalizó correctamente las rutas codificadas en la URL. Esto hace que sea posible realizar un ataque de path traversal si la siguiente configuración no está presente:

Denegar o permitir el acceso al sistema de archivos del directorio


Y si mod_cgi está habilitado, también puede ser aprovechado en una vulnerabilidad de Ejecución Remota de Código. Pero primero vamos a profundizar en la codificación de la URL para entender mejor lo que salió mal.

Codificación de la URL

En su forma más básica, la vulnerabilidad se produce debido a la falta de consideración de las URL con codificación de URL. La función de normalización de rutas introducida recientemente no manejaba completamente los casos en los que los puntos estaban codificados como URL. 

Recuerde que para llevar a cabo un ataque de travesía de ruta, necesitará atravesar con la secuencia ../. La función de normalización, sin embargo, es lo suficientemente inteligente como para eliminar eso. Entonces, ¿qué se puede hacer? Puede codificar la URL con un .(punto) hasta %2e, y utilizar una secuencia como .%2e/. Eso funcionaría en muchos casos contra Apache 2.4.40. Pero también puede ir un paso más allá y codificarla doblemente. La versión codificada de la URL de . %2e/ es .%252e/. Esto puede evitar el intento de normalización por parte de Apache.

Pero hay una trampa

Si alguien quisiera intentar explotar esta vulnerabilidad directamente en su navegador, no tendría éxito. Esto se debe a que los navegadores también intentan normalizar las URL que se envían a los servidores. Esto significa que incluso nuestra secuencia doblemente codificada será eliminada. También significa que no podemos usar simplemente un navegador para demostrar esto.

Puede utilizar cURL para demostrarlo utilizando la bandera --path-as-is , que impide que normalice la URL antes de enviarla:

Ruta de curl como es el código con el enlace

Prevención y mitigación

Para evitar completamente el problema, es importante mantenerse al día con los últimos parches de Apache. Específicamente, usted querrá actualizar a 2.4.51 como mínimo. Pero es una buena práctica para actualizar en un horario regular para mantenerse al día.

Para mitigar este problema si está ejecutando la versión 2.4.49, asegúrese de haber incluido lo siguiente en su configuración de Apache:

Etiquetas de código de directorio con allowoverride none y require all denied rules

Y para evitar la ejecución remota de código, desactive mod_cgi si no lo utiliza.

Experimente usted mismo el impacto

¿Está interesado en explorar exactamente lo que ocurrió y probarlo usted mismo? 


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
Charlie Eriksen
Publicado el 18 de octubre de 2021

Compartir en:

A principios de octubre, Apache lanzó la versión 2.4.49 para corregir una vulnerabilidad de Path Traversal y Ejecución Remota de Código y posteriormente la 2.4.50 para solucionar el hecho de que la corrección de la 2.4.49 estaba incompleta. Quizás hayas visto en las redes sociales la importancia de actualizar a la última versión para evitar estos riesgos, dado que Apache alimenta el 25% de Internet según algunas estimaciones. Pero, ¿cuál es el problema? ¿Qué riesgo existe en este caso?

¿Por qué no lo pruebas tú mismo? 

Hemos creado una misión para demostrar los riesgos en un entorno real y la hemos hecho pública para que todos puedan probarla. En esta misión, le mostraremos cómo la vulnerabilidad Path Traversal puede afectar a su infraestructura y aplicaciones. Haga clic a continuación para entrar directamente, o continúe leyendo para aprender más sobre la vulnerabilidad en detalle.

Banner que dice que pruebe la Misión Apache CVE-2021-41773
Ir a la Misión pública


Acerca de la vulnerabilidad Path Traversal 

La vulnerabilidad se introdujo en la versión 2.4.49(debido a un cambio en la función de normalización de URL), donde se introdujo una nueva función de normalización de rutas. Desgraciadamente, no normalizó correctamente las rutas codificadas en la URL. Esto hace que sea posible realizar un ataque de path traversal si la siguiente configuración no está presente:

Denegar o permitir el acceso al sistema de archivos del directorio


Y si mod_cgi está habilitado, también puede ser aprovechado en una vulnerabilidad de Ejecución Remota de Código. Pero primero vamos a profundizar en la codificación de la URL para entender mejor lo que salió mal.

Codificación de la URL

En su forma más básica, la vulnerabilidad se produce debido a la falta de consideración de las URL con codificación de URL. La función de normalización de rutas introducida recientemente no manejaba completamente los casos en los que los puntos estaban codificados como URL. 

Recuerde que para llevar a cabo un ataque de travesía de ruta, necesitará atravesar con la secuencia ../. La función de normalización, sin embargo, es lo suficientemente inteligente como para eliminar eso. Entonces, ¿qué se puede hacer? Puede codificar la URL con un .(punto) hasta %2e, y utilizar una secuencia como .%2e/. Eso funcionaría en muchos casos contra Apache 2.4.40. Pero también puede ir un paso más allá y codificarla doblemente. La versión codificada de la URL de . %2e/ es .%252e/. Esto puede evitar el intento de normalización por parte de Apache.

Pero hay una trampa

Si alguien quisiera intentar explotar esta vulnerabilidad directamente en su navegador, no tendría éxito. Esto se debe a que los navegadores también intentan normalizar las URL que se envían a los servidores. Esto significa que incluso nuestra secuencia doblemente codificada será eliminada. También significa que no podemos usar simplemente un navegador para demostrar esto.

Puede utilizar cURL para demostrarlo utilizando la bandera --path-as-is , que impide que normalice la URL antes de enviarla:

Ruta de curl como es el código con el enlace

Prevención y mitigación

Para evitar completamente el problema, es importante mantenerse al día con los últimos parches de Apache. Específicamente, usted querrá actualizar a 2.4.51 como mínimo. Pero es una buena práctica para actualizar en un horario regular para mantenerse al día.

Para mitigar este problema si está ejecutando la versión 2.4.49, asegúrese de haber incluido lo siguiente en su configuración de Apache:

Etiquetas de código de directorio con allowoverride none y require all denied rules

Y para evitar la ejecución remota de código, desactive mod_cgi si no lo utiliza.

Experimente usted mismo el impacto

¿Está interesado en explorar exactamente lo que ocurrió y probarlo usted mismo? 


Índice

Descargar PDF
Ver recurso
¿Quiere saber más?

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