Ataque a sistemas de compilación en liña mediante a manipulación de ficheiros de cabeceira

Hanno Böck, autor do proxecto fuzzing-project.org, notou sobre a vulnerabilidade das interfaces de compilación interactiva que permiten procesar código externo en linguaxe C. Cando se especifica unha ruta arbitraria na directiva "#include", un erro de compilación inclúe o contido dun ficheiro que non se puido compilar.

Por exemplo, substituíndo "#include" no código dun dos servizos en liña "A saída puido obter un hash do contrasinal do usuario root do ficheiro /etc/shadow, o que tamén indica que o servizo web está a executarse con dereitos de root e executa comandos de compilación baixo o usuario root (é posible que un contedor illado foi usado durante a compilación, pero o lanzamento con dereitos de root no contedor tamén é un problema). Aínda non se anuncia o servizo problemático no que se puido reproducir o problema. Os intentos de abrir ficheiros no pseudo FS /proc non tiveron éxito porque GCC os trata como ficheiros baleiros, pero abrir ficheiros desde /sys funciona.

Fonte: opennet.ru

Engadir un comentario