· 6 minutos de leitura.
CWE vs. CVE: a diferença em um exemplo
Pegue CVE-2021-44228, Log4Shell. Seu CWE é CWE-917: injeção de linguagem de expressão. Os dois níveis exigem duas soluções diferentes.
Consertando o CVE significa atualizar o Log4j para a versão 2.17. É urgente, é feito à noite e protege você apenas daquela falha.
Consertando o CWE significa impedir que quaisquer dados recebidos cheguem a um avaliador de expressão. Leva tempo e exige uma revisão do projeto — e também protege você das próximas três falhas da mesma família, inclusive aquelas que ainda não possuem número.
Um único CWE cobre milhares de CVEs. É por isso que um relatório de segurança que fala apenas sobre o CVEs descreve um instantâneo, nunca uma tendência.
Os pontos fracos que você mais encontrará
Um punhado de CWEs é responsável por uma grande parcela do CVEs publicado. Para cada um, um exemplo conhecido torna a ideia concreta:
| CWE | Fraqueza | O que o invasor obtém | Caso conhecido |
|---|---|---|---|
CWE-79 | Scripting entre sites (XSS) | Execute o código no navegador de outro usuário | Inúmeras falhas de CMS e plugins |
CWE-89 | Injeção SQL | Ler ou modificar o banco de dados | CVE-2023-34362 (MOVEit) |
CWE-787 | Escrita fora dos limites | Memória corrompida, muitas vezes até a execução do código | Falhas no navegador e na pilha de rede |
CWE-22 | Travessia de caminho | Leia arquivos fora do diretório pretendido | Dispositivo Edge e falhas do VPN |
CWE-352 | Falsificação de solicitação entre sites (CSRF) | Faça um usuário logado agir sem saber | Interfaces administrativas mal protegidas |
CWE-862 | Autorização ausente | Alcançar uma função sem ter permissão para | Falhas muito comuns do API |
CWE-416 | Use depois de grátis | Sequestrar a execução do programa | Renderizando falhas no mecanismo |
CWE-78 | Injeção de comando do sistema operacional | Execute comandos no servidor | Falhas em aparelhos e roteadores |
CWE-917 | Injeção de linguagem de expressão | Execute o código por meio de uma string interpretada | CVE-2021-44228 (Log4Shell) |
A lista completa tem mais de 900 entradas, organizadas de forma hierárquica: desde pilares muito gerais até variantes muito específicas. Está disponível em cwe.mitre.org; não duplicamos suas 900 linhas aqui, pois elas não ensinariam nada que o catálogo oficial não ensina.
O CWE Top 25: para que serve realmente
Todos os anos, MITRE publica o CWETop 25 fraquezas mais perigosas, classificadas combinando a frequência do CVEs associado com sua gravidade. Na edição de 2024, CWE-79 (XSS) está de volta ao topo, à frente de CWE-787 (gravação fora dos limites) e CWE-89 (injeção SQL).
Esta classificação não serve para decidir o que consertar esta semana: serve para decidir em que treinar uma equipe e para que ajustar as ferramentas de análise estática. É uma ferramenta de prevenção, não uma ferramenta de triagem de alerta – as duas são muitas vezes confundidas e isso representa uma perda de tempo em ambas as extremidades.
A cadeia CAPEC, CWE, CVE
Três catálogos, três perguntas: uma padrão de ataque (CAPEC) descreve como isso é feito, a fraqueza (CWE) descreve a falha sendo explorada, a vulnerabilidade (CVE) descreve onde essa falha realmente mora.
Aplicado ao Log4Shell: injeção de código (CAPEC-242) → injeção de linguagem de expressão (CWE-917) → Log4j 2.0 a 2.14.1 (CVE-2021-44228). Ler nessa direção permite antecipar; ler de outra maneira permite que você reaja.
O que isso significa para você, na prática
Três usos que cabem em uma reunião de equipe:
- Conte seu CVEs por CWE nos últimos doze meses. Se
CWE-862aparecer oito vezes, você não tem oito bugs: você tem um problema de design de controle de acesso. - Ajuste suas ferramentas de análise aos três CWEs mais frequentes em seu código, em vez das 900 regras padrão. A taxa de falsos positivos entra em colapso e a equipe para de ignorar os relatórios.
- Coloque o CWE no ticket, não apenas o CVE. O desenvolvedor que conserta o problema entende o que não deve ser escrito novamente em outro lugar.
Perguntas frequentes
Quantos CWEs existem?
Mais de 900, organizados em hierarquia (pilares, classes, bases, variantes). Apenas cerca de cem aparecem regularmente no CVEs publicado: é nesses que devemos focar.
CWE ou CVE para impulsionar a segurança dos aplicativos?
CWE para prevenção, porque descreve uma classe de falhas que você pode eliminar em tempo de design. CVE para resposta, pois identifica uma falha específica para corrigir em um produto específico. Ambos, nunca um em vez do outro.
Um CVE pode ter vários CWEs?
Sim, e é comum. Uma cadeia de exploração geralmente combina um ponto fraco de autorização com uma injeção. Os registros listam vários CWEs; o primeiro listado geralmente é a causa mais direta.