Ataque a sistemas de compilación en línea mediante manipulación de archivos de encabezado

Hanno Böck, autor del proyecto proyecto-fuzzing.org, prestó atención sobre la vulnerabilidad de las interfaces de compilación interactivas que permiten el procesamiento de código externo en lenguaje C. Al especificar una ruta arbitraria en la directiva "#include", un error de compilación incluye el contenido de un archivo que no se pudo compilar.

Por ejemplo, sustituyendo "#include" en el código de uno de los servicios en línea "El resultado pudo obtener un hash de la contraseña del usuario root del archivo /etc/shadow, lo que también indica que el servicio web se ejecuta con derechos de root y ejecuta comandos de compilación bajo el usuario root (es posible que se haya creado un contenedor aislado). utilizado durante la compilación, pero el lanzamiento con derechos de root en el contenedor también es un problema). Aún no se ha anunciado el servicio problemático en el que fue posible reproducir el problema. Los intentos de abrir archivos en el pseudo FS /proc no tuvieron éxito porque GCC los trata como archivos vacíos, pero abrir archivos desde /sys funciona.

Fuente: opennet.ru

Añadir un comentario