diff --git a/cves/2016/CVE-2016-0856.md b/cves/2016/CVE-2016-0856.md index 6ee07b491c8..712f7337703 100644 --- a/cves/2016/CVE-2016-0856.md +++ b/cves/2016/CVE-2016-0856.md @@ -14,5 +14,3 @@ No PoCs from references. #### Github - https://github.com/readloud/PoC -- https://github.com/hamzamalik3461/CVE-2026-20841 -- https://github.com/404godd/CVE-2026-20841-PoC diff --git a/index/github.txt b/index/github.txt index a7b094e352c..04134fa043f 100644 --- a/index/github.txt +++ b/index/github.txt @@ -26828,5 +26828,3 @@ CVE-2021-36260 - https://github.com/kwekre/poc CVE-2021-44228 - https://github.com/kwekre/poc CVE-2024-55591 - https://github.com/uLl0a/cve-2024-55591-poc CVE-2026-82221 - https://github.com/gabrielftanaka/CVE-2026-82221 -CVE-2016-0856 - https://github.com/404godd/CVE-2026-20841-PoC -CVE-2016-0856 - https://github.com/hamzamalik3461/CVE-2026-20841 diff --git a/scripts/update_cves.py b/scripts/update_cves.py index c457bff1309..4060703f55d 100755 --- a/scripts/update_cves.py +++ b/scripts/update_cves.py @@ -341,9 +341,9 @@ def qualifying_repo_cves( description = str(repo.get("description") or "") topics = " ".join(topic_names(repo)) readme = readme_text(repo) + all_name_cves = extract_cves(full_name) | extract_cves(normalise_identity(full_name)) all_identity_cves = ( - extract_cves(full_name) - | extract_cves(normalise_identity(full_name)) + all_name_cves | extract_cves(description) | extract_cves(topics) ) @@ -384,15 +384,20 @@ def qualifying_repo_cves( accepted.add(cve_id) for cve_id in description_cves | topic_cves: has_context = readme_has_poc_context(readme, cve_id, full_name) + has_cve_artifact = root_has_cve_artifact(repo, cve_id) + if all_name_cves and cve_id not in all_name_cves and not has_cve_artifact: + continue if ( (not identity_is_non_poc or cve_id in name_cves) and (metadata_has_poc or has_context) - and (has_context or root_has_poc_artifact(repo, cve_id) or has_code) + and (has_context or has_cve_artifact or has_code) ): accepted.add(cve_id) for cve_id in readme_cves: has_artifact = root_has_poc_artifact(repo, cve_id) has_cve_artifact = root_has_cve_artifact(repo, cve_id) + if all_name_cves and cve_id not in all_name_cves and not has_cve_artifact: + continue if all_identity_cves and cve_id not in all_identity_cves and not has_cve_artifact: continue if identity_cves and cve_id not in identity_cves and not has_artifact: diff --git a/tests/test_update_cves.py b/tests/test_update_cves.py index f45eaab6b41..92a88dfed49 100644 --- a/tests/test_update_cves.py +++ b/tests/test_update_cves.py @@ -82,6 +82,12 @@ class RepositoryClassificationTests(unittest.TestCase): "Proof of concept for CVE-2026-20841", "The approach resembles the CVE-2016-0856 exploit.", ) + repo["repositoryTopics"] = { + "nodes": [ + {"topic": {"name": "cve-2016-0856"}}, + {"topic": {"name": "cve-2026-20841"}}, + ] + } repo["root"] = {"entries": [{"name": "PoC.md"}]} self.assertEqual(update_cves.qualifying_repo_cves(repo, 2016, []), set()) self.assertEqual(