GHSA-9vrw-m88g-w75q Denial of Service in @hapi/accept

Not scored Published

An attacker can crash the application by sending a malformed Accept-Encoding header, causing a system error that terminates the service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-9vrw-m88g-w75q?

GHSA-9vrw-m88g-w75q is a denial of service vulnerability in @hapi/accept, published on 3 Sep 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Versions of @hapi/accept prior to 3.2.4 or 5.0.1 are vulnerable to Denial of Service. The Accept-Encoding HTTP header parser has a vulnerability which will cause the function to throw a system error if the header contains some invalid values. Because hapi rethrows system errors (as opposed to catching expected application errors), the error is thrown all the way up the stack. If no unhandled exception handler is available, the application will exist, allowing an attacker to shut down services.

Recommendation

Upgrade to version 3.2.4 or 5.0.1.

Which versions are affected by GHSA-9vrw-m88g-w75q?

4 open source packages ship an affected version, including @hapi/accept.

PackageAffectedFixed in
@hapi/accept npmFrom 3.2.03.2.4
@hapi/accept npmFrom 3.2.03.2.4
@hapi/accept npmFrom 4.0.05.0.1
@hapi/accept npmFrom 4.0.05.0.1

How do I fix GHSA-9vrw-m88g-w75q?

Upgrade @hapi/accept to a fixed version for your release line: 3.2.4 or 5.0.1.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is GHSA-9vrw-m88g-w75q being exploited?

There is no known exploitation of GHSA-9vrw-m88g-w75q in the wild and no public exploit code.

Sources

Is GHSA-9vrw-m88g-w75q in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free