Prototype Pollution in hoek
Versions of `hoek` prior to 4.2.1 and 5.0.3 are vulnerable to prototype pollution. The `merge` function, and the `applyToDefaults` and `applyToDefaultsWithShallow` functions which leverage `merge` behind the scenes, are vulnerable to a prototype pollution attack when provided an _unvalidated_ payload created from a JSON string containing the `__proto__` property. This can be demonstrated like so: ```javascript var Hoek = require('hoek'); var malicious_payload = '{"__proto__":{"oops":"It works !"}}'; var a = {}; console.log("Before : " + a.oops); Hoek.merge({}, JSON.parse(malicious_payload)); console.log("After : " + a.oops); ``` This type of attack can be used to overwrite existing properties causing a potential denial of service. ## Recommendation Update to version 4.2.1, 5.0.3 or later.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2018-3728US | high8.8 | — | ||
hoek node module before 4.2.0 and 5.0.x before 5.0.3 suffers from a Modification of Assumed-Immutable Data (MAID) vulnerability via 'merge' and 'applyToDefaults' functions, which a… | ||||
references
External citations — patches, advisories, analysis.
- https://access.redhat.com/errata/RHSA-2018:1263WEB
- https://access.redhat.com/errata/RHSA-2018:1264WEB
- https://github.com/hapijs/hoekPACKAGE
- https://github.com/hapijs/hoek/commit/32ed5c9413321fbc37da5ca81a7cbab693786deeWEB
- https://github.com/hapijs/hoek/commit/5aed1a8c4a3d55722d1c799f2368857bf418d6dfWEB
- https://hackerone.com/reports/310439WEB
- https://nvd.nist.gov/vuln/detail/CVE-2018-3728ADVISORY
- https://snyk.io/vuln/npm:hoek:20180212WEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan