As 25 fraquezas de software mais perigosas

As 25 principais fraquezas de software mais perigosas, com base no MITRE CWE, mostrando as falhas que causam violações reais e como elas afetam os sistemas em aplicativos modernos.
Published on
Friday, February 27, 2026
Updated on
February 26, 2026

Principais conclusões:

  • Atualmente, as fraquezas de software mais perigosas são as classes de falhas que os invasores exploram repetidamente em sistemas reais, principalmente falhas de injeção, bugs de corrupção de memória e falhas no controle de acesso.
  • Os pontos fracos da injeção, como scripts entre sites e injeção de SQL, permanecem altamente predominantes porque são fáceis de acionar e aplicar em muitos aplicativos modernos.
  • Os problemas de segurança de memória continuam causando o impacto técnico mais severo, incluindo falhas e execução remota de código, especialmente em bases de código nativas e antigas.
  • Erros de autorização e autenticação geralmente levam a grandes violações ao permitir que os usuários acessem dados ou funções além das permissões pretendidas.

Quais são os pontos fracos do software?

As fraquezas do software são falhas no design, no código ou na configuração do software que permitem a ocorrência de problemas de segurança. Essas fraquezas descrevem formas comuns pelas quais o software falha, e é por isso que os mesmos tipos de problemas de segurança aparecem em diferentes aplicativos e sistemas.

Como essas fraquezas se repetem, os atacantes se concentram em explorar os padrões subjacentes em vez de bugs individuais. Corrigir uma única vulnerabilidade não evita problemas futuros se a mesma fraqueza ainda existir em outro lugar na base de código.

Para resolver esse problema, o MITRE documenta e padroniza esses problemas recorrentes por meio da Common Weakness Enumeration. A análise da MITRE mostra que muitas vulnerabilidades do mundo real se originam de um conjunto relativamente pequeno de tipos conhecidos de fraquezas de software.

O que é o CWE e por que ele existe?

A Common Weakness Enumeration (CWE) existe para padronizar como as fraquezas do software são identificadas, nomeadas e rastreadas em todo o setor. Ele fornece uma referência comum para que ferramentas, relatórios e equipes de segurança descrevam o mesmo problema da mesma forma.

Antes do CWE, a mesma fraqueza podia aparecer com nomes diferentes em recomendações, scanners e documentação interna. Isso tornou difícil comparar riscos, medir tendências ou entender se problemas diferentes compartilhavam a mesma causa raiz.

O CWE é mantido pela MITRE como parte de seu trabalho para melhorar a segurança do software e do sistema. Ao mapear as vulnerabilidades de volta aos tipos de fraqueza padronizados, o MITRE permite que as organizações priorizem correções sistêmicas em vez de reagir a descobertas isoladas.

Como os rankings são determinados?

As classificações são criadas usando um processo baseado em dados que reflete como as fraquezas do software aparecem e são exploradas em sistemas do mundo real.

how the rankings are determined
  • Fontes de dados: A análise é baseada em grandes volumes de vulnerabilidades relatadas que são mapeadas para tipos de fraqueza padronizados. Isso permite que padrões sejam identificados em diferentes produtos, fornecedores e tecnologias.
  • Mapeamento de pontos fracos: Cada vulnerabilidade relatada está vinculada a uma entrada na Common Weakness Enumeration, que possibilita agrupar problemas individuais por sua causa subjacente, em vez de tratá-los isoladamente.
  • Ponderação da prevalência: Os pontos fracos que aparecem com frequência nos dados de vulnerabilidade têm um peso mais alto na classificação. Isso destaca os problemas que afetam consistentemente muitos sistemas, em vez de casos extremos raros.
  • Pontuação de impacto: A gravidade é considerada analisando as consequências típicas da exploração, como exposição de dados, aumento de privilégios ou execução remota de código. As fraquezas que levam a resultados de maior impacto têm uma classificação mais alta.
  • Atualizações contínuas: A lista é mantida pelo MITRE e atualizada à medida que novos dados são disponibilizados. Os rankings mudam com o tempo, à medida que as tendências de exploração e os padrões de ataque mudam.

Quais são as 25 fraquezas de software mais perigosas?

Rank CWE ID Weakness Name Category Score CVEs in KEV Rank Change vs 2024 Why It’s Dangerous Typical Impact
1CWE-79Cross-Site Scripting (XSS)Injection60.3870Executes attacker scripts in victim browsersSession hijacking, account takeover
2CWE-89SQL InjectionInjection28.7241Manipulates database queries via user inputData breach, authentication bypass
3CWE-352Cross-Site Request Forgery (CSRF)Session Management13.6401Forces actions using authenticated user sessionsUnauthorized actions, data changes
4CWE-862Missing AuthorizationAccess Control13.2805Lacks permission checks on protected functionsUnauthorized access, data exposure
5CWE-787Out-of-Bounds WriteMemory Safety12.6812−3Writes outside allocated memory boundariesRemote code execution, crashes
6CWE-22Path TraversalFile Handling8.9910−1Accesses files outside intended directoriesSensitive file disclosure
7CWE-416Use-After-FreeMemory Safety8.47141Uses memory after it is freedCode execution, instability
8CWE-125Out-of-Bounds ReadMemory Safety7.883−2Reads memory outside allocated buffersSecret leakage, exploit chaining
9CWE-78OS Command InjectionInjection7.8520−2Executes arbitrary system commandsFull system compromise
10CWE-94Code InjectionInjection7.5771Executes attacker-controlled codeApplication takeover
11CWE-120Classic Buffer OverflowMemory Safety6.960N/AOverwrites adjacent memory buffersCode execution, crashes
12CWE-434Unrestricted File UploadFile Handling6.874−2Uploads executable or malicious filesWeb shells, malware
13CWE-476NULL Pointer DereferenceMemory Safety6.4108Dereferences null pointers at runtimeDenial of service
14CWE-121Stack-Based Buffer OverflowMemory Safety5.754N/ACorrupts stack execution flowPrivilege escalation, RCE
15CWE-502Unsafe DeserializationDesign Flaw5.23111Deserializes untrusted attacker inputRemote code execution
16CWE-122Heap-Based Buffer OverflowMemory Safety5.216N/ACorrupts heap memory structuresReliable exploitation
17CWE-863Incorrect AuthorizationAccess Control4.1441Authorization logic enforces rules incorrectlyIDOR, privilege escalation
18CWE-20Improper Input ValidationInput Handling4.092−6Fails to validate untrusted inputInjection, logic bypass
19CWE-284Improper Access ControlAccess Control4.071N/AWeak enforcement of access restrictionsUnauthorized actions
20CWE-200Information ExposureInformation Disclosure4.011−3Leaks sensitive system or user dataCredential and data exposure
21CWE-306Missing Authentication (Critical Function)Authentication3.47114Critical functions lack authentication checksUnauthorized operations
22CWE-918Server-Side Request Forgery (SSRF)Network Interaction3.360−3Makes attacker-controlled internal requestsCloud credential theft
23CWE-77Command InjectionInjection3.152−10Injects parameters into system commandsHost compromise
24CWE-639Authorization Bypass (User-Controlled Key)Access Control2.6206Manipulates identifiers to bypass authorizationCross-user data access
25CWE-770No Resource Limits or ThrottlingResource Management2.5401Exhausts system resourcesDenial of service

Como ler e usar esta tabela?

A tabela de pontos fracos de software mais perigosos explica como cada fraqueza é classificada, categorizada e avaliada com base nos padrões reais de risco e exploração.

Classificação

A classificação mostra o quão perigosa é cada fraqueza em relação às outras da lista. Uma classificação mais alta reflete uma combinação de ocorrência frequente e impacto severo no mundo real.

IDENTIFICAÇÃO DE VACA

O CWE ID vincula cada fraqueza à sua definição padronizada na Common Weakness Enumeration. Isso permite que a mesma fraqueza seja referenciada de forma consistente em ferramentas, relatórios e documentação de segurança.

Ponto

A pontuação representa uma medida combinada da frequência com que a fraqueza aparece e de quão prejudicial ela tende a ser quando explorada. Pontuações mais altas indicam tipos de fraqueza que contribuem repetidamente para graves incidentes de segurança.

CVEs em KEV

Essa coluna mostra quantas vulnerabilidades exploradas conhecidas estão associadas a cada fraqueza. Um número maior sugere uma exploração ativa e contínua em ataques do mundo real.

Categoria

A categoria agrupa os pontos fracos por sua natureza subjacente, como injeção, segurança de memória ou controle de acesso. Isso facilita a identificação de padrões e áreas problemáticas sistêmicas em todos os aplicativos.

Impacto típico

O impacto típico resume os resultados mais comuns quando a fraqueza é explorada. Esses impactos incluem exposição de dados, execução remota de código, escalonamento de privilégios ou negação de serviço.

Padrões e conclusões das fraquezas de software mais perigosas

Os pontos fracos mais perigosos do software se agrupam em um pequeno número de tipos de falhas recorrentes. Esses clusters explicam onde os controles de segurança geralmente são interrompidos em sistemas reais.

Fraquezas da injeção

As falhas de injeção permanecem dominantes porque entradas não confiáveis continuam atingindo intérpretes, bancos de dados e interfaces de comando. Pequenos erros de validação ou codificação são suficientes para permitir um comprometimento total.

Fraquezas de segurança de memória

Problemas de corrupção de memória aparecem com frequência porque o gerenciamento manual de memória ainda é comum em componentes críticos. Essas fraquezas geralmente levam diretamente a falhas ou execução remota de código.

Fraquezas do controle de acesso

As falhas de autorização e autenticação se expandem entre os aplicativos, em vez de afetar recursos individuais. Um erro lógico pode expor dados ou funcionalidades para todos os usuários.

Causas raiz persistentes

A maioria dos pontos fracos da lista são antigos e bem compreendidos. Eles persistem porque as práticas de desenvolvimento não os eliminam de forma consistente no momento do design.

Como as organizações devem usar as fraquezas de software mais perigosas?

As organizações devem usar as fraquezas de software mais perigosas como referência de priorização em vez de uma lista de verificação. A lista ajuda a identificar quais problemas subjacentes criam o maior risco em produtos, equipes e ambientes.

Priorização de riscos

A lista destaca os tipos de fraqueza que consistentemente levam a resultados graves. As organizações podem usar isso para concentrar os esforços de remediação em problemas com maior probabilidade de causar danos reais.

Avaliações de design seguro

Essas fraquezas devem ser analisadas durante as fases de arquitetura e design, não somente após a descoberta das vulnerabilidades. Resolvê-los precocemente reduz a chance de padrões de alto risco serem incorporados aos sistemas.

Padrões de desenvolvimento

Os padrões de segurança e as diretrizes de codificação podem ser alinhados com as categorias de pontos fracos da lista. Isso garante que os desenvolvedores estejam se protegendo de forma consistente contra os modos de falha mais comuns.

Foco nos testes de segurança

Atividades de teste, como análises de código, modelagem de ameaças e varredura automatizada, podem ser mapeadas para esses tipos de fraqueza. Isso melhora a cobertura e reduz o tempo gasto em descobertas de baixo impacto.

Como os desenvolvedores podem reduzir a exposição a essas fraquezas

Os desenvolvedores reduzem a exposição às fraquezas mais perigosas do software concentrando-se em um pequeno conjunto de práticas que abordam as causas básicas, não os bugs individuais. O objetivo é evitar que padrões de alto risco entrem na base de código em primeiro lugar.

Tratamento de entradas

Todas as entradas externas devem ser tratadas como não confiáveis e validadas com limites de confiança claros. A validação e a codificação consistentes evitam a formação de muitas fraquezas relacionadas à injeção.

Autorização por design

As decisões de controle de acesso devem ser explícitas, centralizadas e aplicadas em todas as operações confidenciais. Confiar em suposições sobre funções de usuário ou fluxo de solicitações é uma fonte comum de falhas de autorização.

Segurança de memória

Sempre que possível, os desenvolvedores devem preferir linguagens seguras para memória ou abstrações bem testadas. Em ambientes em que o gerenciamento manual da memória é necessário, a verificação rigorosa dos limites e a codificação defensiva são essenciais.

Padrões seguros

Os aplicativos devem começar em um estado seguro, sem a necessidade de endurecimento manual. Configurações padrão inseguras geralmente transformam fraquezas menores em vulnerabilidades graves.

Foco na revisão de código

As revisões de código devem procurar ativamente padrões fracos, não apenas problemas de sintaxe ou estilo. Analisar as mudanças com base em categorias conhecidas de fraqueza de alto risco melhora a detecção antes do lançamento.

Os 10 melhores do CWE vs OWASP

Aspect CWE OWASP Top 10
Focus Software weakness root causes Application security risks
Scope Broad weakness classification system Curated list of common risks
Purpose Prevent vulnerabilities at design and code level Raise awareness of frequent attack patterns
Level Conceptual and structural Application and implementation
Usage Secure design, code reviews, tooling Security testing, training, risk communication
Maintained by MITRE OWASP

Considerações finais

Os pontos fracos mais perigosos do software não são problemas raros ou desconhecidos, mas falhas recorrentes no design e na implementação que os invasores exploram de forma consistente. O foco nessas classes de fraqueza ajuda as organizações a reduzir o risco na origem, em vez de reagir a incidentes individuais.

Ao usar estruturas padronizadas, como a Common Weakness Enumeration, as equipes podem alinhar os esforços de desenvolvimento, teste e segurança em torno das causas básicas compartilhadas. Essa abordagem leva a um software mais resiliente e a menos falhas de segurança de alto impacto ao longo do tempo.

Related Posts
What is an Attack Vector? Types & Prevention
An attack vector is a technique attackers use to exploit weaknesses and enter a system to steal data, deploy malware, or compromise networks.
What is Cookie Logging? Meaning, Risks, and Prevention
Cookie logging is a method of stealing authentication cookies from web browsers to gain unauthorized access to online accounts without needing a password.
What is a Kerberoasting Attack? Definition, Risks, and Prevention
A Kerberoasting attack is a credential theft technique that exploits Kerberos service tickets in Microsoft Active Directory to crack service account passwords offline and escalate privileges.

Start your demo now!

Schedule a Demo
Free 7-day trial
No Commitments
100% value guaranteed

Related Knowledge Base Articles

No items found.