A Vida Secreta das Vulnerabilidades: O que os CVEs nos contam sobre segurança de software
Você já se perguntou quanto tempo uma vulnerabilidade vive dentro de um software antes de ser corrigida? A resposta pode dizer muito sobre a maturidade de um projeto, a linguagem usada, ou até a cultura da equipe de desenvolvimento.
Um estudo recente intitulado “The Secret Life of CVEs”, conduzido por pesquisadores da Universidade Nicolaus Copernicus e da Universidade de Varsóvia, mergulha fundo nesse universo. Eles analisaram mais de 640 mil commits associados a vulnerabilidades CVE para entender melhor como elas evoluem — e, mais importante, quanto tempo permanecem abertas nos projetos.
O que é um CVE?
O termo CVE (Common Vulnerabilities and Exposures) representa um identificador único atribuído a falhas de segurança conhecidas publicamente. É como um CPF da vulnerabilidade: quando ela é descoberta, ganha um número, uma descrição e passa a ser monitorada por pesquisadores e profissionais de segurança.
Quanto tempo vive uma falha?
A análise revelou que o tempo mediano para corrigir uma CVE é de 34 dias, mas 20% das vulnerabilidades continuam vivas por mais de 150 dias. E tem mais: 75% das correções acontecem com apenas 1 a 3 commits, mostrando que muitas falhas são pontuais, mas nem por isso menos perigosas.
Outro ponto interessante: várias correções envolvem múltiplas linguagens de programação. Projetos em C e Java, por exemplo, têm cerca de 57% de correções em uma única linguagem, enquanto outras como Python, JavaScript e C++ frequentemente exigem ajustes em arquivos de diferentes tecnologias.
O que influencia o tempo de correção?
O estudo aplicou análise de sobrevivência para descobrir os principais fatores que impactam o tempo de vida das vulnerabilidades. Os destaques foram:
- Modelo de memória: linguagens com gerenciamento automático (ex: Python) têm correções mais rápidas.
- Tamanho da equipe: projetos com times médios (5–50 devs) corrigem mais rápido do que equipes grandes.
- Atividade do projeto: projetos ativos corrigem vulnerabilidades com mais agilidade.
- Tipo de ataque: falhas exploráveis via rede tendem a demorar mais para serem resolvidas.
Embargos e falhas silenciosas
Muitos projetos aplicam correções antes da divulgação oficial do CVE — o chamado embargo. Além disso, há casos em que o commit corrige uma falha, mas não menciona o CVE, dificultando a rastreabilidade. Isso afeta a visibilidade e pode mascarar o tempo real de exposição.
Por que isso importa?
Para profissionais de segurança, entender a vida útil de uma vulnerabilidade é essencial para definir SLAs, priorizar riscos e melhorar processos de gestão de vulnerabilidades. Para desenvolvedores, é um alerta para documentar, manter o repositório ativo e priorizar correções de falhas críticas.
🔒 Quer melhorar sua postura de segurança? Mantenha seu projeto ativo, foque em agilidade e promova a cultura de correção rápida e rastreável.