Skip to content
Fencer Intel
high 8.2

GHSA-w8gf-g2vq-j2f4 json

amphp/http-client Denial of Service via HTTP/2 CONTINUATION Frames

published 2y ago modified 4mo ago

cvss
8.2
version 3.1, GitHub
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

Early versions of `amphp/http-client` with HTTP/2 support (v4.0.0-rc10 to 4.0.0) will collect HTTP/2 `CONTINUATION` frames in an unbounded buffer and will not check the header size limit until it has received the `END_HEADERS` flag, resulting in an OOM crash. Later versions of `amphp/http-client` (v4.1.0-rc1 and up) depend on `amphp/http` for HTTP/2 processing and will therefore need an updated version of `amphp/http`, see [GHSA-qjfw-cvjf-f4fm](https://github.com/amphp/http/security/advisories/GHSA-qjfw-cvjf-f4fm).

## Acknowledgements

Thank you to [Bartek Nowotarski](https://nowotarski.info/) for reporting the vulnerability.

Patch / fix

  • packagist amphp/http-client 4.1.0-rc1

Is GHSA-w8gf-g2vq-j2f4 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

CVSS scores

assigned by version score vector
GitHub 3.1 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H

Affected packages

ecosystem package affected fixed in
packagist amphp/http-client
>=4.0.0-rc10, <4.1.0-rc1
4.1.0-rc1

Classification

Weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling
  • CWE-789 Memory Allocation with Excessive Size Value

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.