Cuidado com pastas criadas na raiz da unidade C:

Tenho uma pasta na raiz da unidade C: onde coloco alguns programas úteis. Está presente na variável de ambiente PATH do sistema.

As ACLs padrão da raiz da unidade dão permissão de escrita, em todas as pastas ali criadas — propagada ao conteúdo descendente —, a todos os usuários autenticados (que tenham feito logon), incluindo quem não é administrador. Diferente das pastas C:\Program Files e C:\Program Files (x86), tipicamente usadas para tais fins, que não possuem permissão de escrita para usuários limitados.

Por isso alguns programas burros, que não fazem diferenciação entre o território do sistema operacional e do usuário, criam pastas diretamente na unidade C:. Qualquer usuário autenticado pode escrever ali, não sendo necessário usar o perfil. Nosso maior exemplo são os programas da Receita Federal, cuja pasta é C:\Arquivos de Programas RFB.

Contudo, como minha pasta está no PATH, é um problema! Pode ser usada para ataques de DLL preloading. É imperativo remover a permissão de escrita para usuários não administradores:


Desabilitei a herança, convertendo permissões herdadas em explícitas. Por fim, removi a permissão problemática:


It rather involved being on the other side of this airtight hatchway: Planting files onto a custom PATH (The Old New Thing)

Obrigado, Raymond!

Comentários