Skip to content

github.com/nghttp2/nghttp2 has HTTP/2 Rapid Reset

High severity GitHub Reviewed Published Oct 10, 2023 in nghttp2/nghttp2 • Updated Oct 10, 2023

Package

gomod github.com/nghttp2/nghttp2 (Go)

Affected versions

< 1.57.0

Patched versions

1.57.0

Description

Impact

Rapidly creating and cancelling streams (HEADERS frame immediately followed by RST_STREAM) without bound cause denial of service.

See https://www.cve.org/CVERecord?id=CVE-2023-44487 for details.

Patches

nghttp2 v1.57.0 mitigates this vulnerability by default.

Workarounds

If upgrading to nghttp2 v1.57.0 is not possible, implement nghttp2_on_frame_recv_callback, and check and count RST_STREAM frames. If excessive number of RST_STREAM are received, then take action, such as dropping connection silently, or call nghttp2_submit_goaway and gracefully terminate the connection.

References

The following commit mitigates this vulnerability:

References

@tatsuhiro-t tatsuhiro-t published to nghttp2/nghttp2 Oct 10, 2023
Published to the GitHub Advisory Database Oct 10, 2023
Reviewed Oct 10, 2023
Last updated Oct 10, 2023

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-vx74-f528-fxqg

Source code

Checking history
See something to contribute? Suggest improvements for this vulnerability.