Pesquisadores de segurança publicaram recentemente detalhes técnicos e um exploit de prova de conceito (PoC) para uma vulnerabilidade no kernel Linux, identificada como CVE-2023-52447. Com uma pontuação CVSS de 7.8, essa falha do tipo use-after-free afeta versões do kernel Linux da v5.8 até a v6.6, representando sérios riscos para sistemas que utilizam contêineres como mecanismo de isolamento de segurança. A vulnerabilidade está relacionada ao subsistema BPF (Berkeley Packet Filter) do kernel Linux, especificamente no gerenciamento de ponteiros arraymap em programas BPF.
O BPF é um framework poderoso que permite executar programas personalizados dentro do kernel, sendo utilizado para filtragem de pacotes de rede, monitoramento de desempenho e aplicativos de segurança. Contudo, neste caso, o problema surge devido à contagem incorreta de referências em certos programas BPF. A falha ocorre quando um programa BPF mantém um ponteiro de arraymap de um array_of_maps sem aumentar corretamente a contagem de referências. Se o programa BPF realizar uma operação demorada, outra thread pode liberar o arraymap e reutilizar a memória, resultando em uma condição use-after-free.
O pesquisador de segurança disponibilizou o PoC no GitHub, permitindo que equipes de segurança entendam melhor a vulnerabilidade CVE-2023-52447 e como ela pode ser explorada. Embora essa PoC seja uma ferramenta valiosa para medidas de defesa, também coloca o exploit nas mãos de atores mal-intencionados, aumentando a urgência de correções e mitigações.