Acesso Raw a disquetes está sendo desabilitando por padrão no kernel

Por falta de manutenção, obsolência e falhas recentes, o acesso Raw a disquetes está sendo desabilitando por padrão no kernel.

Este tem sido um ano difícil para o suporte a disquetes no Linux e mostra o estado de raramente mantido para código não mantido.

No início deste ano, o driver de disquete Linux no kernel 5.17 viu uma correção para evitar travamento ao tentar ler e depois ejetar um disquete quebrado.

O ano passado também foi uma correção de disquete do Linux para uma regressão que já existia há meio ano antes de ser notada.

O problema mais recente do disquete é um problema de simultaneidade de uso depois de livre sendo descoberto no código do disquete ao usar seu comando bruto ioctl (FDRAWCMD).

Acesso Raw a disquetes está sendo desabilitando por padrão no kernel

Acesso Raw a disquetes está sendo desabilitando por padrão no kernel
Acesso Raw a disquetes está sendo desabilitando por padrão no kernel

O ioctl FDRAWCMD é usado para enviar comandos brutos para o controlador de disquete. Isso pode ser usado para lidar com discos não padrão, interagir com discos protegidos contra cópia e outros usos não padrão.

Essa vulnerabilidade de uso após a liberação é conhecida há anos a partir de relatórios anteriores e detecção do Kernel Address Sanitizer.

Mas muitas pessoas não se preocupam com o driver de disquete nos dias de hoje. Dado que o FDRAWCMD é usado apenas para casos de uso não padrão, a correção mais fácil é apenas desabilitar essa interface por padrão.

Willy Tarreau comentou:

“O problema é que este driver tende a quebrar com muita facilidade e hoje em dia, ninguém deve usar o FDRAWCMD de qualquer maneira, já que ele foi usado para manipular formatos não padrão. O risco de quebrar o driver é maior do que o risco apresentado por nesta corrida, e acessar o dispositivo requer privilégios de qualquer maneira.”

Então, adicionado hoje ao Linux Git agora está o BLK_DEV_FD_RAWCMD que, por padrão, mantém esse ioctl desativado, a menos que você precise enviar comandos de disquete brutos em 2022 para o controlador de disquete, caso em que você pode habilitá-lo.

O ioctl está sendo considerado obsoleto e será removido no futuro.

Essa mudança por ser de natureza de segurança foi incorporada recentemente à linha principal do kernel 5.18.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.