Ataque a sistemas de compilação online através da manipulação de arquivos de cabeçalho

Hanno Böck, autor do projeto fuzzing-project.org, chamou a atenção sobre a vulnerabilidade de interfaces de compilação interativa que permitem a execução de código externo em C. Ao especificar um caminho arbitrário na diretiva "#include", um erro de compilação inclui o conteúdo do arquivo que não pôde ser compilado.

Por exemplo, inserindo em um dos serviços online o código "#include <\/etc\/shadow>", foi possível obter o hash da senha do usuário root do arquivo \/etc\/shadow, o que também indica que o serviço web está sendo executado com permissões de root e executa comandos de compilação como usuário root (não se pode descartar que durante a compilação foi usado um contêiner isolado, mas a execução com permissões de root no contêiner também é um problema). O serviço problemático, onde foi possível reproduzir o problema, ainda não foi divulgado. Tentativas de abrir arquivos no pseudo-sistema de arquivos \/proc não foram bem-sucedidas, pois o GCC os interpreta como arquivos vazios, mas a abertura de arquivos de \/sys funciona.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster