First published: Thu May 05 2022(Updated: )
Hawk is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with partial cryptographic verification of the request and response, covering the HTTP method, request URI, host, and optionally the request payload. Hawk used a regular expression to parse `Host` HTTP header (`Hawk.utils.parseHost()`), which was subject to regular expression DoS attack - meaning each added character in the attacker's input increases the computation time exponentially. `parseHost()` was patched in `9.0.1` to use built-in `URL` class to parse hostname instead. `Hawk.authenticate()` accepts `options` argument. If that contains `host` and `port`, those would be used instead of a call to `utils.parseHost()`.
Credit: security-advisories@github.com security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Mozilla Hawk | <9.0.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2022-29167 has been assigned a medium severity rating due to its potential impact on authentication mechanisms.
To fix CVE-2022-29167, update the Hawk package to version 9.0.1 or later.
CVE-2022-29167 affects Hawk versions prior to 9.0.1.
CVE-2022-29167 is an authentication vulnerability related to the HTTP authentication scheme implemented by Hawk.
Yes, if your application uses vulnerable versions of the Hawk library and relies on HTTP authentication, it is at risk.