HTTPoxy - ¿Se ha afectado mi aplicación Go?

Solution Verified - Updated -

Environment

Red Hat Enterprise Linux 7.x

Issue

Este incidente aplica cuando se utiliza la aplicación Go en modo CGI. En caso de que un script CGI de Go utilice la variable de entorno "HTTP_PROXY" para configurar un proxy HTTP de salida para las subsiguientes solicitudes HTTP, o si su script hace uso de un módulo o de una biblioteca que exponga esta conducta , por ejemplo, el módulo "http" de Go, es posible que el subsiguiente tráfico HTTP que se deriva dentro del script CGI de Go sea redirigido a través de un proxy que está por fuera del control del atacante.

Por favor observe que este es un incidente que se presenta cuanto el script de Go se implementa en un servidor HTTP con CGI habilitado, lo cual proporciona el contenido del encabezamiento "Proxy" de una solicitud HTTP a través de la variable de entorno "HTTP_PROXY" .

Resolution

Red Hat ha publicado actualizaciones y guías de mitigación para servidores HTTP, que no les permiten proporcionar el contenido del encabezamiento HTTP "Proxy" como la variable de entorno "HTTP_PROXY". La actualización de su servidor HTTP o la aplicación de la mitigación cerrará este vector y evitará la explotación de esta falla.

Para evitar que el encabezamiento proporcionado del atacante sea utilizado, siga alguno de los siguientes métodos:

  • Configure su cortafuegos de aplicación de red para eliminar el encabezamiento "Proxy:"
  • Cambie su configuración del servidor HTTP para retirar el encabezamiento "Proxy:" antes de invocar scripts Go (vea otros artículos de la base de conocimientos en el artículo principal HTTPoxy vinculado abajo).
  • Cree los siguientes cambios en su programa:
    Agregue “os” a las importaciones si no está presente:
    import “os”

Agregue cerca de la parte superior de su función “main”

    os.Unsetenv(“HTTP_PROXY”)

Root Cause

Consulte HTTPoxy - CGI "HTTP_PROXY" variable name clash para obtener más información.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.