chore(deps): update module github.com/docker/distribution to v2.8.2+incompatible [security] (release-2.8.x) - abandoned - autoclosed #13773
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v2.8.1+incompatible
->v2.8.2+incompatible
distribution catalog API endpoint can lead to OOM via malicious user input
CVE-2023-2253 / GHSA-hqxw-f8mx-cpmw / GO-2023-1772
More information
Details
Impact
Systems that run
distribution
built after a specific commit running on memory-restricted environments can suffer from denial of service by a crafted malicious/v2/_catalog
API endpoint request.Patches
Upgrade to at least 2.8.2-beta.1 if you are running
v2.8.x
release. If you use the code from the main branch, update at least to the commit after f55a6552b006a381d9167e328808565dd2bf77dc.Workarounds
There is no way to work around this issue without patching. Restrict access to the affected API endpoint: see the recommendations section.
References
/v2/_catalog
endpoint accepts a parameter to control the maximum amount of records returned (query string:n
).When not given the default
n=100
is used. The server trusts thatn
has an acceptable value, however when using amaliciously large value, it allocates an array/slice of
n
of strings before filling the slice with data.This behaviour was introduced ~7yrs ago [1].
Recommendation
The
/v2/_catalog
endpoint was designed specifically to do registry syncs with search or other API systems. Such an endpoint would create a lot of load on the backend system, due to overfetch required to serve a request in certain implementations.Because of this, we strongly recommend keeping this API endpoint behind heightened privilege and avoiding leaving it exposed to the internet.
For more information
If you have any questions or comments about this advisory:
[1] faulty commit
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
docker/distribution (github.com/docker/distribution)
v2.8.2+incompatible
Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.