PT-2024-34028 · Linux+7 · Linux Kernel+7
Publicado
2024-11-07
·
Atualizado
2025-10-03
·
CVE-2024-50194
CVSS v3.1
5.5
Média
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas:
Versões do kernel Linux anteriores à 6.11.4
Descrição:
O kernel Linux apresenta um bug no código uprobes para arm64 em kernels big-endian. O problema surge porque o kernel não converte a codificação das instruções na memória de little-endian para a endianidade nativa do kernel antes de analisar e simular as instruções. Isso pode levar a vários problemas, incluindo a rejeição pelo kernel da sondagem de instruções seguras, a permissão de execução insegura de instruções e a simulação incorreta de instruções devido à codificação com bytes trocados. A incompatibilidade de endianidade não é detectada pelo compilador ou pelo sparse devido à codificação de certos campos como matrizes de u8 e ao uso de memcpy() sem tratamento de endianidade. O problema é resolvido alterando os campos afetados para le32 e adicionando as conversões le32 to cpu() apropriadas.
Recomendações:
Para resolver o problema, atualize o kernel do Linux para uma versão posterior à 6.11.4. Como solução temporária, considere desativar o uso de uprobes arm64 em kernels big-endian até que um patch esteja disponível. Restrinja o acesso aos endpoints vulneráveis uprobe events e events/uprobes/enable para minimizar o risco de exploração. Evite usar o tipo uprobe opcode t e as funções arch uprobe analyze insn() e arch uprobe skip sstep() até que o problema seja resolvido.
Exploit
Correção
Buffer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Alt Linux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu