Weaknesses of type CWE-67
5 resultsManipulação Inadequada de Nomes de Dispositivos do Windows
A fraqueza ocorre quando uma aplicação no Windows não valida corretamente nomes de arquivos ou caminhos, permitindo que um atacante use nomes reservados de dispositivos do SO (como COM1, LPT1, PRN, CON, AUX, NUL) para contornar validações, acessar recursos não autorizados ou causar comportamento inesperado. O Windows interpreta esses nomes de forma especial, independentemente da extensão ou caminho, criando uma via de escape para controles de segurança.
Uma aplicação valida que um upload não é executável verificando se termina em .exe, mas o usuário envia um arquivo nomeado 'PRN.txt'. Como PRN é um dispositivo reservado, o Windows redireciona a escrita para a porta paralela ou ignora o arquivo, causando falha na validação ou efeitos laterais não previstos. Similarmente, um caminho como 'C:\uploads\COM1' pode ser interpretado como acesso direto à porta serial em vez de um arquivo.
Implemente uma lista branca rigorosa de nomes de arquivo permitidos e valide contra nomes reservados do Windows (CON, PRN, AUX, NUL, COM1-9, LPT1-9, etc.). Rejeite ou renomeie automaticamente qualquer entrada que corresponda a esses padrões, e use APIs seguras de manipulação de caminho que normalizam e validam o input antes de qualquer operação de I/O.