CVE-2022-29167: ReDoS vulnerability in header parsing in hawk
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().
Other sources
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().
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2022-29167?
CVE-2022-29167 has been assigned a medium severity rating due to its potential impact on authentication mechanisms.
How do I fix CVE-2022-29167?
To fix CVE-2022-29167, update the Hawk package to version 9.0.1 or later.
Which versions of Hawk are affected by CVE-2022-29167?
CVE-2022-29167 affects Hawk versions prior to 9.0.1.
What type of vulnerability is CVE-2022-29167?
CVE-2022-29167 is an authentication vulnerability related to the HTTP authentication scheme implemented by Hawk.
Can CVE-2022-29167 affect my application?
Yes, if your application uses vulnerable versions of the Hawk library and relies on HTTP authentication, it is at risk.