PT-2024-11805 · Linux+5 · Linux Kernel+5
Rafael Richter
·
Publicado
2022-02-09
·
Atualizado
2024-09-27
·
CVE-2022-48808
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 à 5.16.5-00042-g8f5585009b24
Descrição
O problema ocorre quando um sistema com switches LX2160A e Marvell DSA é reiniciado enquanto o mestre DSA (dpaa2-eth) está ativo. Isso leva a um panic devido ao cancelamento do registro do mestre, causando um dev close(), que é notificado como NETDEV GOING DOWN para dsa slave netdevice event(). No entanto, como dsa switch shutdown() já foi executado e cancelou o registro das interfaces escravas do DSA, a tentativa do manipulador NETDEV GOING DOWN de chamar dev close many() nessas interfaces escravas resulta em um problema. A abordagem anterior para evitar esse problema, cancelando o registro das interfaces escravas após a chamada de dsa switch shutdown(), é considerada inadequada. Em vez disso, redefinir o ponteiro master->dsa ptr para NULL após os escravos terem deixado de ser usuários do mestre DSA resolve o problema, fazendo com que o DSA ignore futuros eventos de notificação no mestre.
Recomendações
Para resolver este problema, atualize o kernel do Linux para uma versão que inclua a correção para a vulnerabilidade net: dsa: corrigir pânico quando o dispositivo mestre DSA se desvincula no desligamento. Especificamente, certifique-se de que a versão do kernel seja 5.16.5-00042-g8f5585009b24 ou posterior. Se a atualização não for possível imediatamente, considere implementar uma solução alternativa redefinindo o ponteiro master->dsa ptr para NULL após os escravos terem deixado de ser usuários do mestre DSA, para impedir que o manipulador NETDEV GOING DOWN tente chamar dev close
Exploit
Correção
Improper Resource Release
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu