Vulnerabilidade de string de formato
O que é Vulnerabilidade de string de formato?
Vulnerabilidade de string de formatoFalha causada por passar entrada controlada pelo utilizador como string de formato em funções tipo printf, permitindo leitura ou escrita arbitrária de memória.
Os bugs de string de formato surgem quando um programador escreve printf(input_utilizador) em vez de printf("%s", input_utilizador). Especificadores como %x revelam memória da pilha, %s desreferencia ponteiros arbitrários e %n escreve o número de bytes já impressos num endereço de memória — produzindo primitivas arbitrárias de leitura/escrita. A exploração clássica visa entradas GOT/PLT, ponteiros de função ou canários de pilha. As toolchains modernas avisam (-Wformat-security, FORTIFY_SOURCE) e muitas linguagens proíbem o padrão, mas o bug ainda surge em C legado, firmware embebido e shells. A defesa é mecânica: nunca passar entradas não confiáveis como string de formato e preferir formatadores tipados como fmtlib, println! do Rust ou fmt do Go com verbos explícitos.
● Exemplos
- 01
CVE-2000-0573 (wu-ftpd): string de formato em site exec, root remoto.
- 02
Routers embebidos que registam diretamente em syslog campos controlados pelo atacante.
● Perguntas frequentes
O que é Vulnerabilidade de string de formato?
Falha causada por passar entrada controlada pelo utilizador como string de formato em funções tipo printf, permitindo leitura ou escrita arbitrária de memória. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Vulnerabilidade de string de formato?
Falha causada por passar entrada controlada pelo utilizador como string de formato em funções tipo printf, permitindo leitura ou escrita arbitrária de memória.
Como se defender contra Vulnerabilidade de string de formato?
As defesas contra Vulnerabilidade de string de formato costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Vulnerabilidade de string de formato?
Nomes alternativos comuns: Bug de formato printf.