Falha no modo lockdown do kernel Linux permitia acesso root via PCI; patch corrige a brecha

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Patch bloqueia brecha via PCI!

Um novo patch integrado à árvore de desenvolvimento do kernel Linux corrige uma falha estrutural no recurso de segurança conhecido como lockdown. A brecha permitia que o usuário root acessasse e modificasse portas PCI legadas e espaços de memória, ignorando as restrições projetadas especificamente para impedir a alteração do código do núcleo do sistema operacional.

O modo lockdown do kernel Linux atua como uma barreira de segurança avançada. Quando ativado, ele restringe até mesmo o usuário administrador (root) de realizar ações que possam modificar o kernel em tempo de execução. Um dos vetores bloqueados por esse modo é o acesso irrestrito ao hardware, que poderia ser explorado para gravar na memória do sistema via operações de acesso direto (DMA).

O problema ocorreu devido a uma omissão em uma atualização de segurança anterior. Um commit passado havia bloqueado com sucesso o acesso aos registradores de endereço base (BAR) das placas PCI, mas deixou de aplicar a mesma proteção aos manipuladores (handlers) legados do sistema de arquivos sysfs.

Com a ausência da verificação, arquivos de sistema como legacy_io e legacy_mem continuavam desprotegidos. Na prática, isso significava que o usuário root ainda conseguia escrever em portas de entrada e saída arbitrárias e mapear espaços de memória legados, mantendo a exata capacidade que o modo lockdown deveria remover.

A correção aplicada ao código

EeubFsp5 falha lockdown linux acesso root pci 2
Falha no modo lockdown do kernel Linux permitia acesso root via PCI; patch corrige a brecha 3

A solução submetida pelo desenvolvedor Krzysztof Wilczyński e validada pelo mantenedor Bjorn Helgaas resolve o problema diretamente no subsistema PCI. O patch adiciona a verificação security_locked_down(LOCKDOWN_PCI_ACCESS) aos manipuladores legados.

A partir dessa alteração, as funções responsáveis por mapear a memória e a entrada/saída (I/O) verificam o status do lockdown antes de prosseguir. Se a restrição estiver ativa, o kernel retorna um erro e bloqueia a tentativa de acesso.

A mudança afeta os manipuladores genéricos e cobre todas as arquiteturas que definem o suporte a recursos PCI legados (HAVE_PCI_LEGACY), incluindo plataformas como Alpha e PowerPC. O código já faz parte dos repositórios de manutenção do PCI e deve chegar aos usuários nas próximas atualizações de estabilidade do kernel Linux.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.