GitHub Advisoryadvisory · npm

GHSA-44pw-h2cw-w3vq Uncontrolled Resource Consumption in Hawk

HIGH Published 2022-05-23 Modified 2022-05-23 Official page ↗
Aliases
CVE-2022-29167
Ecosystem
npm
Packages
hawk
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
Weaknesses
CWE-1333, CWE-400
Reviewed
2022-05-23

Affected packages

• npm hawk: < 9.0.1 → fixed in 9.0.1

Description

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()`.

Related

Alias · CVE (1)

  • CVE-2022-29167 Hawk is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with partial cryptographic verification… vulnerability

Weakness · CWE (2)

  • CWE-1333 Inefficient Regular Expression Complexity weakness
  • CWE-400 Uncontrolled Resource Consumption weakness

References