
Um repositório para realizar enriquecimento de vulnerabilidades.
O projeto CISA Vulnrichment é o repositório público do enriquecimento feito pela CISA de registros públicos de CVE por meio do contêiner ADP (Authorized Data Publisher) da CISA. Nesta fase do projeto, a CISA está avaliando CVEs novos e recentes e adicionando pontos de decisão importantes do SSVC. Uma vez pontuados, alguns CVEs de maior risco também receberão enriquecimento de pontos de dados de CWE e/ou CVSS, quando possível.
Produtores e consumidores desses dados de CVE já devem estar familiarizados com o atual CVE Record Format e podem acessar esses dados das formas habituais, incluindo a GitHub API e a CVE Services API. Observe que os resultados do Vulnrichment estão sendo enviados de volta ao corpus do CVE, por meio do ADP Program, lançado recentemente (2024). Consumidores downstream não precisam fazer fork e acompanhar este repositório do GitHub se já estiverem consumindo dados de CVE ao vivo.
Este projeto está em desenvolvimento ativo, portanto fique atento a este README.md para atualizações.
Primeiro, a CISA submeterá cada CVE a um processo de pontuação SSVC.
Em seguida, para os CVEs classificados como "Total Technical Impact", "Automatable", ou que tenham valores de "Exploitation" de "Proof of Concept" ou "Active Exploitation", uma análise mais aprofundada será conduzida. A CISA determinará se há informação suficiente para afirmar um identificador CWE específico e/ou uma pontuação CVSS. Em alguns casos, a CISA fornecerá essas métricas até mesmo para vulnerabilidades que não são classificadas como de alto risco em nenhum desses pontos de decisão.
Para os CVEs que ainda não têm esses campos preenchidos pela CNA de origem, a CISA preencherá o contêiner ADP associado com esses valores quando houver evidência de suporte suficiente para isso. Em nenhum momento a CISA sobrescreverá os dados da CNA de origem no contêiner CNA original do registro CVE.
Estes fluxogramas ilustram o processo do Vulnrichment. Observe que os detalhes nos fluxogramas estão sujeitos a alterações à medida que os processos do Vulnrichment são refinados.
Vamos dedicar um momento para examinar alguns registros de CVE para cada tipo de vulnrichment que você pode esperar do ADP da CISA.
Todos os CVEs usados como exemplos abaixo foram escolhidos aleatoriamente entre aqueles que se encaixam nos critérios demonstrados.
Todo CVE analisado pelo ADP da CISA terá três pontos de decisão SSVC listados. Para esses exemplos, vamos examinar CVE-2024-34974, CVE-2024-25522 e CVE-2024-35057. Também examinaremos CVE-2024-33666, que é uma pontuação SSVC de baixo risco.
CVE-2024-25522 tem um valor "poc" para Exploit na linha 47, indicando que havia uma prova de conceito pública disponível no momento da análise:
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
]
CVE-2024-34974 tem um valor "yes" para "Automatable" na linha 50, indicando que um atacante poderia geralmente explorar essa vulnerabilidade à vontade, sem precisar se preocupar com reconhecimento, weaponização, entrega ou técnicas de prevenção de exploração.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
]
CVE-2024-35057 tem um valor "total" para "Technical Impact" na linha 59, indicando que explorar essa vulnerabilidade geralmente dará ao atacante controle total sobre o software afetado.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
]
Para os CVEs que estão no KEV, o ADP da CISA adicionará um bloco KEV. Para aqueles que não estão, nenhuma atualização ocorrerá.
CVE-2024-4947 é um desses CVEs e contém o bloco KEV começando na linha 153:
"other": {
"type": "kev",
"content": {
"dateAdded": "2024-05-20",
"reference": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-4947"
}
}
CVE-2024-3477 é um exemplo de CVE para o qual a CNA de origem não forneceu um CWE, e um analista da CISA conseguiu determinar um a partir do contexto das informações de vulnerabilidade disponíveis. Essa métrica começa na linha 49 sob o nó problemTypes:
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"type": "CWE",
"cweId": "CWE-352",
"description": "CWE-352 Cross-Site Request Forgery (CSRF)"
}
]
}
]
CVE-2024-0043 é um exemplo de CVE que teve um cálculo CVSS adicionado pela CISA, começando na linha 30. Novamente, isso é baseado no contexto das informações de vulnerabilidade disponíveis no momento da análise.
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
}
Observe que, a partir de 10 de dezembro de 2024, a CISA não adicionará mais strings CPE ao conjunto de dados enriquecido. Dados enriquecidos anteriormente ainda podem conter informações de CPE. As notas aqui sobre strings CPE são para fins históricos.
CVE-2024-1347 é um exemplo de CVE que teve uma string CPE adicionada pela CISA, começando na linha 61.
"cpes": [
"cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*"
]
CVE-2024-2905 é um exemplo de CVE que já tinha métricas de CWE, CVSS e CPE (veja aqui) quando a CISA realizou a etapa de triagem SSVC, e não está no KEV, então nada mais precisou ser adicionado. Bom trabalho, Red Hat CNA!