GHSA-9vrw-m88g-w75q Denial of Service in @hapi/accept
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.
| Package | Affected | Fixed in |
|---|---|---|
@hapi/accept npm | From 3.2.0 | 3.2.4 |
@hapi/accept npm | From 3.2.0 | 3.2.4 |
@hapi/accept npm | From 4.0.0 | 5.0.1 |
@hapi/accept npm | From 4.0.0 | 5.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.