
Prova de conceito para CVE-2026-4480, uma vulnerabilidade de injeção de comandos no nome do trabalho de impressão do Samba. Demonstra a exploração por meio de nomes de trabalhos de impressão maliciosos e inclui orientações de detecção e mitigação.
CVE-2026-4480 é uma vulnerabilidade de injeção de comando que afeta certas configurações de impressão do Samba que utilizam comandos de impressão externos.
A vulnerabilidade existe porque o Samba insere metadados controlados pelo usuário do trabalho de impressão em um comando shell sem escapar adequadamente os metacaracteres do shell.
Em configurações específicas, um atacante pode fornecer um nome de trabalho de impressão malicioso que faz com que comandos arbitrários sejam executados no servidor.
O problema é particularmente perigoso porque alguns compartilhamentos de impressora permitem acesso de convidado, permitindo exploração sem autenticação.
O Samba suporta vários backends de impressão. Uma opção legada, comumente referida como impressão estilo sysv, executa um comando externo sempre que um trabalho de impressão é concluído.
Os administradores podem configurar comandos usando macros de substituição como:
print command = /usr/local/bin/print-helper %s %J
Onde:
%s → Caminho para o arquivo de spool%J → Nome do trabalho de impressão fornecido pelo clienteAntes da correção, o valor %J passava por uma sanitização mínima antes de ser inserido em um comando executado através do shell do sistema.
Como os metacaracteres do shell permaneciam intactos, nomes de trabalho especialmente criados podiam alterar o fluxo de comando pretendido e executar instruções controladas pelo atacante.
Um ataque típico consiste em quatro estágios:
Se o comando de impressão referenciar %J, a carga útil do atacante se torna parte do comando shell e é executada com as permissões do processo de impressão do Samba.
Nem toda instalação do Samba é vulnerável.
As seguintes condições geralmente devem ser verdadeiras:
%J.Implantações modernas que usam impressão baseada em CUPS não expõem esse caminho de ataque porque os trabalhos são passados através da API do CUPS em vez de um comando shell.
A exploração bem-sucedida pode permitir que um atacante:
A gravidade depende fortemente das permissões do processo de impressão e da configuração do sistema ao redor.
As versões afetadas incluem versões anteriores a:
Sistemas que usam versões posteriores não são afetados por este problema.
As mitigações recomendadas incluem:
%J dos comandos de impressão se não for necessário.printing = cups quando possível.Os defensores devem investigar:
smbd gerando interpretadores de shell inesperadamentesh
bash
python
perl
nc
curl
wget
Monitorar a criação de processos a partir do serviço Samba pode ajudar a identificar tentativas de exploração.
Este repositório é destinado apenas para pesquisa educacional e autorizada de segurança.
Não use este código contra sistemas, redes ou serviços sem permissão explícita do proprietário.
O acesso não autorizado a sistemas de computador é ilegal e antiético.
Sempre realize testes em ambientes de laboratório isolados ou plataformas especificamente projetadas para treinamento de segurança.