Linux sete ponto dois adiciona bandeira para evitar enganos com arquivos especiais

21 de May de 2026 Publicado | Traducido del español

A próxima versão do kernel Linux, a 7.2, incluirá a flag OPENAT2_REGULAR para a chamada de sistema openat2. Esta funcionalidade permite que os programas garantam que abrem apenas arquivos regulares, evitando que sejam redirecionados para dispositivos especiais como /dev/null ou FIFOs, que podem causar comportamentos de travamento inesperados e vulnerabilidades de segurança.

Processo de compilação do kernel Linux, terminal de programador mostrando a chamada de sistema openat2 com a flag OPENAT2_REGULAR destacada em código verde, corrente simbólica representando o redirecionamento de arquivos sendo quebrada por um ícone de escudo, pipes FIFO maliciosos e nós de dispositivo /dev/null mostrados como caminhos bloqueados com marcas X vermelhas, ícone de arquivo regular com marca de verificação brilhante, estilo de ilustração técnica, fundo de terminal escuro com chuva de código estilo matrix, iluminação dramática azul e laranja, trilhas de circuito ultra-detalhadas no fundo, visualização de engenharia fotorrealista

Como o OPENAT2_REGULAR funciona no kernel 🛡️

A flag OPENAT2_REGULAR atua como um filtro na chamada openat2. Quando ativada, o kernel verifica se o arquivo de destino é do tipo regular (S_IFREG) antes de permitir a abertura. Se o arquivo for um dispositivo de bloco, um FIFO ou um socket, a operação falha com o erro EISDIR ou EPERM. Esta verificação ocorre após resolver links simbólicos, fechando o caminho para ataques que usam links para apontar para dispositivos especiais. A implementação foi solicitada pelo grupo UAPI para proteger aplicações que processam arquivos de usuário.

Adeus aos sustos com /dev/null e os FIFOs travessos 😅

Até agora, um programa confiante podia abrir um arquivo e descobrir que era um FIFO que o deixava esperando dados para sempre, ou pior, um /dev/null que engolia toda a sua saída sem reclamar. Com o OPENAT2_REGULAR, esses sustos acabam: se o arquivo não for regular, o kernel diz não e o desenvolvedor economiza horas de depuração. É como colocar um filtro na entrada do disco para que apenas arquivos reais passem, sem fantasias de carnaval.