Uma vulnerabilidade no subsistema eBPF que permite a execução de código no nível do kernel Linux.

Na subsistema eBPF, que permite executar manipuladores dentro do núcleo Linux em uma máquina virtual especial com JIT, foi encontrada uma vulnerabilidade (CVE-2021-4204), que permite que um usuário local não privilegiado obtenha elevação de privilégios e execute seu código no nível do núcleo Linux. O problema se manifesta a partir do núcleo Linux 5.8 e ainda não foi corrigido (inclui a versão 5.16). O estado da formação de atualizações para resolver o problema nos distribuições pode ser acompanhado nas seguintes páginas: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Foi anunciado que um exploit funcional será publicado em 18 de janeiro (os usuários e desenvolvedores têm uma semana para corrigir a vulnerabilidade).

A vulnerabilidade é causada por uma verificação inadequada dos eBPF programas transmitidos para execução. O subsistema eBPF fornece funções auxiliares, cuja correção do uso é verificada por um verificador especial. Algumas funções exigem a transmissão do valor PTR_TO_MEM como argumento e, para evitar possíveis estouros de buffer, o verificador deve conhecer o tamanho da memória associada ao argumento. Para as funções bpf_ringbuf_submit e bpf_ringbuf_discard, as informações sobre o tamanho da memória transmitida não foram reportadas ao verificador, o que poderia ser explorado para sobrescrever áreas de memória fora do buffer ao executar código eBPF especialmente formatado.

Para realizar um ataque, o usuário deve ser capaz de carregar seu programa BPF, e muitas das novas distribuições Linux bloqueiam essa possibilidade por padrão (também o acesso não privilegiado ao eBPF agora é proibido por padrão no próprio núcleo, a partir da versão 5.16). Por exemplo, a vulnerabilidade pode ser explorada na configuração padrão no Ubuntu 20.04 LTS, mas em ambientes Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 e Fedora 33, isso ocorre apenas se o administrador definiu o parâmetro kernel.unprivileged_bpf_disabled como 0. Como uma solução alternativa para bloquear a vulnerabilidade, pode-se proibir a execução de programas BPF por usuários não privilegiados com o comando 'sysctl -w kernel.unprivileged_bpf_disabled=1'.

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