We noticed a large batch (multiple thousand) of previously-valid CVE conversions vanished and haven't come back.
Concrete example: CVE-2021-32024 and CVE-2024-48856
Timeline from our mirror's history:
- Until 2026-05-04, both had valid, non-withdrawn OSV records.
- On 2026-05-04, in a single sync, withdrawn was added to both (modified/withdrawn: 2026-05-04T08:37:33Z and 08:39:45Z respectively) — and to ~136k other CVE records in that same sync.
- As of a fresh sync in July 2026, both (and ~135k of the previously-cached CVE conversions total) are entirely absent from current output — not present-with-withdrawn, just gone.
Timing correlation we noticed: this window sits right between #5290 (2026-04-30, "nvd-cve-osv Cron job doesn't seem to be successfully finishing") and #5099 (2026-05-05, GCS upload pipeline rewrite with hash-based skip-if-unchanged uploads).
Question: did a partial/failing run in that window write bad withdrawn tombstones for a large batch of CVEs, and could the new hash-based skip-upload logic in #5099 be preventing those from ever being regenerated since? Is there a way to force reconversion for affected CVEs?
We noticed a large batch (multiple thousand) of previously-valid CVE conversions vanished and haven't come back.
Concrete example: CVE-2021-32024 and CVE-2024-48856
Timeline from our mirror's history:
Timing correlation we noticed: this window sits right between #5290 (2026-04-30, "nvd-cve-osv Cron job doesn't seem to be successfully finishing") and #5099 (2026-05-05, GCS upload pipeline rewrite with hash-based skip-if-unchanged uploads).
Question: did a partial/failing run in that window write bad withdrawn tombstones for a large batch of CVEs, and could the new hash-based skip-upload logic in #5099 be preventing those from ever being regenerated since? Is there a way to force reconversion for affected CVEs?