Kernel Linux reforça proteção contra imagens corrompidas no HFS e HFS+

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...

Segurança em sistemas legados!

O Kernel Linux recebeu um novo conjunto de atualizações focadas em aumentar a resiliência dos sistemas de arquivos HFS e HFS+. Integrados recentemente por Linus Torvalds, os patches enviados pelo mantenedor Viacheslav Dubeyko corrigem uma série de problemas estruturais identificados por ferramentas de automação como o syzbot, além de resolver falhas nos casos de teste do xfstests.

As modificações têm como objetivo principal evitar que o sistema sofra falhas ou realize leituras indevidas de memória ao lidar com imagens de disco intencionalmente modificadas ou corrompidas.

O que isso muda na prática

O HFS e o HFS+ são sistemas de arquivos legados desenvolvidos pela Apple. Embora não sejam mais o padrão nos dispositivos modernos da empresa, o suporte a eles continua presente no Kernel Linux para garantir a leitura de discos e partições antigas.

O problema central resolvido por essa atualização é a forma como o kernel confiava nos dados contidos nessas partições. Ao montar um pendrive ou uma imagem de disco com um sistema HFS+ corrompido, o kernel tentava processar as informações exatamente como estavam descritas nos metadados. Se um cabeçalho estivesse modificado de forma maliciosa para apontar para locais de memória incorretos, isso poderia causar falhas no sistema operacional. Com as novas regras, o kernel passa a desconfiar e validar os dados estruturais antes de tentar carregá-los, abortando operações perigosas.

Principais correções e validações estruturais

QAKZheR5 linux seguranca hfs hfsplus
Kernel Linux reforça proteção contra imagens corrompidas no HFS e HFS+ 3

A atualização introduz camadas de verificação de integridade em diferentes etapas do processamento do sistema de arquivos. As mudanças mais sensíveis incluem:

  • Verificação de corrupção do bitmap B-tree: O código agora verifica se o bit do mapa de alocação para o cabeçalho da árvore está definido durante a abertura. Caso não esteja, o sistema identifica a corrupção e monta o volume como leitura (somente leitura) para evitar danos adicionais à partição.
  • Validação da tabela de deslocamento de registros B-tree: Imagens modificadas (crafted) podiam conter nós de B-tree com contagens de registros superiores ao tamanho real do nó ou com deslocamentos desalinhados. A validação agora impede intervalos sobrepostos ou índices inválidos antes de realizar a leitura, evitando estouros e falhas.
  • Validação de CNIDs antes da instanciação de inodes: Evita que falhas na resolução de identificadores (CNID) resultem na instanciação de registros de catálogo corrompidos, rejeitando o carregamento quando o identificador solicitado não corresponde ao encontrado.
  • Refatoração na lógica de exclusão do catálogo: Corrige um comportamento no qual imagens corrompidas forneciam nomes de thread excessivamente grandes. A leitura agora é delimitada ao tamanho exato suportado pela estrutura, prevenindo que o sistema leia dados além do espaço alocado na memória.
  • Reformulação no bloqueio do MDB: A atualização traz um novo esquema de travas (locking) para o Master Directory Block (MDB), além de evitar que o sistema tente marcar buffers como sujos (dirty) após uma falha de gravação.

As correções também contemplam testes internos, removendo verificações redundantes no KUnit. O conjunto de patches estabiliza o tratamento de erros em operações de gravação que ultrapassam a capacidade real do volume.

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.