GHSA-fc83-9jwq-gc2m

Suggest an improvement
Source
https://github.com/advisories/GHSA-fc83-9jwq-gc2m
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-fc83-9jwq-gc2m/GHSA-fc83-9jwq-gc2m.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-fc83-9jwq-gc2m
Published
2025-03-24T19:39:27Z
Modified
2025-03-24T19:39:27Z
Severity
  • 6.9 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N CVSS Calculator
Summary
Web Push Denial of Service via malicious Web Push endpoint
Details

Prior to version 0.10.3, the built-in clients of the web-push crate eagerly allocated memory based on the Content-Length header returned by the Web Push endpoint. Malicious Web Push endpoints could return a large Content-Length without ever having to send as much data, leading to denial of service by memory exhaustion.

Services providing Web Push notifications typically allow the user to register an arbitrary endpoint, so the endpoint should not be trusted.

The fixed version 0.10.3 now limits the amount of memory it will allocate for each response, limits the amount of data it will read from the endpoint, and returns an error if the endpoint sends too much data.

As before, it is recommended that services add a timeout for each request to Web Push endpoints.

Database specific
{
    "nvd_published_at": null,
    "cwe_ids": [
        "CWE-770"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2025-03-24T19:39:27Z"
}
References

Affected packages

crates.io / web-push

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
0.10.4