-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent GHSA reports a fixed-in version in OSV but not in PyPI #111
Comments
The unversioned URL advisory-database/vulns/django-celery-results/PYSEC-2020-38.yaml Lines 16 to 26 in ca8c884
If you look at the JSON API for a specific version that is listed as affected, you see the advisories:
It seems like the actual issue is that the advisory in this repository should now include additional versions, and maybe a different fixed version? But hasn't been updated so PyPI is unaware. |
Yep, I think that the "fixed_in" version in the PyPI data should be 2.4.0 to match the GHSA. That was the first django-celery-results version that had the |
My guess is that something is broken in the pipeline that updates these if the |
The latest push for GHSA-fvx8-v524-8579 looks like:
This includes the fix version, and we got no visible errors from OSV's perspective. @di can you please check logs on PyPI's side? |
Shouldn't those be updated in https://github.com/pypa/advisory-database/blob/1cb9a0e3d3bfef3c750abfadaf3ff56df19c409d/vulns/django-celery-results/PYSEC-2020-38.yaml prior to this getting pushed to PyPI? |
The one I posted is a GHSA one, which doesn't live in the pypa repo. |
But PYSEC-2020-38 has GHSA-fvx8-v524-8579 as an alias, shouldn't they be the same? |
I think originally the GHSA did match the PYSEC advisory. The GHSA was (if I'm remembering right) edited to have a new fixed version (2.4.0) when that was released. I think (again, from memory) previously the GHSA matched the PYSEC advisory and reported 2.0.0 as the fixed version. My understanding is that version partially fixed the issue, but the full fix didn't come along until 2.4.0, after which the GHSA got updated. |
Unless something has changed with the import automation since last I worked on it, it never updates anything in the advisory except for the versions array after initial creation of the advisory. That was an enhancement that no one had ever quite gotten around to |
It also wasn't creating advisories based off of any information parsed from GHSA info but only from the NVD cve entry |
Looks like the NVD entry also hasn't been updated: https://nvd.nist.gov/vuln/detail/CVE-2020-17495#range-5840140 I guess this is google/osv.dev#254? Should we close? |
They're different instances. I think there's still a possible bug somewhere in the ingestion pipeline that caused PyPI to not pick up the update to Referring to :
We did send a fix event for |
Got it. I thought there was more deduplication happening between aliases, but I see now that we get separate reports for each. I fixed the root cause in the initial implementation of this here: pypi/warehouse#12767 However this will not change advisories that should have been updated prior to this fix. @oliverchang, would it be possible to do a one-off re-report to PyPI for everything that has received updates? |
Kicked one off! |
@oliverchang Did it complete? I saw a brief spike, but there were only a few hundred before it dropped off, and the advisory in question doesn't seem to have gotten an update: |
Aha, the cache purging was not triggered, after purging it does seem like this has been resolved:
Closing! |
Similar to pypa/pip-audit#274 but seems to be an issue with the advisory-database, not the pip-audit code.
There is a GHSA for django-celery-results that was (finally) fixed in version 2.4.0:
GHSA-fvx8-v524-8579
I see that the OSV vulnerability reporting service properly reports the "fixed-in" version:
But the PyPI vulnerability reporting service does not report any fixed-in version:
I see no advisories at all in PyPI directly:
Is there some stale / cached data in the advisory-database that hasn't been removed? Or is this a bug in PyPI's API?
The text was updated successfully, but these errors were encountered: