Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalPublic exploit

Unauthenticated Arbitrary File Upload and Root RCE in Cisco ISE and ISE-PIC

IdentifiersCVE-2025-20282CWE-434

CVE-2025-20282 is a critical vulnerability in an internal API of Cisco Identity Services Engine (ISE) and Cisco ISE Passive Identity Connector (ISE-PIC). The flaw is caused by insufficient file validation checks, which fail to prevent uploaded files from being written into privileged directories on the affected system. A remote, unauthenticated attacker can exploit the issue by uploading a crafted file to the vulnerable device through the exposed internal API. Because the file can be placed in privileged locations and then executed on the underlying operating system, successful exploitation can result in arbitrary code execution as root. Available reporting indicates the issue affects Cisco ISE and ISE-PIC Release 3.4 and is independent of the related CVEs CVE-2025-20281 and CVE-2025-20337.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows full compromise of the affected appliance at the operating-system level. An attacker can store malicious files on the device, execute arbitrary code as root, obtain root privileges, and take complete control of the system. This level of access can enable follow-on actions such as tampering with security policy infrastructure, persistence, credential or configuration theft, data access, and use of the compromised ISE/ISE-PIC node as a pivot for broader network compromise.

Mitigation

If you can’t patch tonight, do this now.

No workaround is available according to the supplied content. Until patching is completed, reduce exposure by strictly limiting network reachability to Cisco ISE/ISE-PIC management and API surfaces, restricting access to trusted administrative networks only, segmenting the appliance from untrusted networks, and monitoring for unexpected file creation, suspicious process execution, or other indicators of compromise on ISE/ISE-PIC hosts. These are exposure-reduction measures only and do not remediate the vulnerability.

Remediation

Patch, then assume compromise.

Apply Cisco’s fixed software updates for affected Cisco ISE and ISE-PIC deployments. The provided context indicates Cisco recommended upgrading affected Release 3.4 systems to Cisco ISE/ISE-PIC 3.4 Patch 2. If already running 3.4 Patch 2, no further action is indicated in the supplied material. Because the vulnerability affects Release 3.4 and there are no workarounds, organizations should prioritize immediate upgrade of all exposed or reachable ISE/ISE-PIC 3.4 nodes.
PUBLIC EXPLOITS

Exploits

3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 3 / 3 TOTALView more in app
cve-2025-20282MaturityPoCVerified exploit

This repository is a minimal standalone Python proof-of-concept exploit for CVE-2025-20282 targeting Cisco ISE. It contains only two files: a trivial README pointing elsewhere and a single executable script, rce.py, which is the clear entry point and core exploit logic. The script uses argparse for a single target argument, requests for HTTPS communication, zipfile/io to build an in-memory ZIP archive, and disables TLS certificate warnings to facilitate exploitation of appliances with self-signed certificates. The exploit workflow is straightforward: it first constructs a ZIP archive containing a JSP webshell at appsrv/apache-tomcat/webapps/admin/error/shell.jsp, then POSTs that archive to the target's /admin/files-upload/z endpoint. After upload, it sends a GET request to /admin/error/shell.jsp with a cmd parameter, causing the JSP to execute arbitrary shell commands through /bin/bash -c and return the output. The included demonstration command is 'sudo /usr/bin/timeout --foreground -s SIGKILL 10 /bin/id', which suggests the author expects elevated execution context and is attempting to demonstrate root-level command execution. Overall, this is a real exploit rather than a detector: it weaponizes an unauthenticated upload primitive into remote code execution by planting a server-side webshell. It is operational but basic, with a hardcoded JSP payload and no advanced operator features such as cleanup, interactive shell management, authentication bypass logic beyond the assumed vulnerable endpoint behavior, or payload customization beyond manually changing the cmd parameter.

tevshoDisclosed Mar 26, 2026pythonjspwebnetwork
cve-2025-20282MaturityPoCVerified exploit

This repository is a small standalone Python exploit PoC consisting of a README and a single executable script, rce.py. The script targets Cisco ISE and explicitly labels itself as a PoC for CVE-2025-20282. Its purpose is unauthenticated remote code execution via a two-stage workflow: first, it builds an in-memory ZIP archive containing a JSP webshell; second, it uploads that archive to an administrative file-upload endpoint so the shell is written into the Tomcat webroot and becomes reachable over HTTPS. The exploit logic is straightforward. make_zip() creates a ZIP archive from attacker-controlled file paths and contents. upload() sends that ZIP to /admin/files-upload/z using a multipart/form-data POST request with TLS verification disabled. The embedded payload is a JSP webshell that reads the cmd query parameter, executes it through /bin/bash -c, redirects stderr to stdout, and returns command output in the HTTP response. execute() then calls the deployed shell at /admin/error/shell.jsp with a chosen command. In main(), the operator supplies a target hostname or IP on the command line. The script uploads the ZIP with the internal path appsrv/apache-tomcat/webapps/admin/error/shell.jsp, then invokes the shell with the command sudo /usr/bin/timeout --foreground -s SIGKILL 10 /bin/id. This demonstrates post-exploitation command execution and suggests the exploit author expects privilege escalation or privileged command execution in the target environment. Overall, this is a real exploit rather than a detector. It is operational but simple: it contains a hardcoded JSP webshell payload and a fixed demonstration command, with no advanced operator controls, persistence management, or framework integration.

pwnc4tDisclosed Mar 26, 2026pythonjspwebnetwork
CiscoISE-CVE-2025-20282-POCMaturityPoCVerified exploit

This repository contains a proof-of-concept exploit for CVE-2025-20282, targeting Cisco Identity Services Engine (ISE). The main file, 'CVE-2025-20282 - v2.py', is a Python script that creates a ZIP archive containing a modified version of the 'isehourlycron.sh' shell script (normally found at /opt/CSCOcpm/bin/ on the target). The script injects an attacker-supplied command into this shell script unless the '--reset' flag is used, in which case it restores the original content. The ZIP file is then uploaded via an unauthenticated POST request to the '/admin/files-upload/' endpoint on the target Cisco ISE instance. Once uploaded, the ZIP is extracted on the target, and the modified shell script is executed as root by a cron job, resulting in remote code execution as root. The repository consists of the exploit script and a README.md explaining the vulnerability and usage. The exploit requires network access to the target's HTTPS interface and leverages a file upload vulnerability to achieve code execution.

skadevareDisclosed Jul 1, 2025pythonbashnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Cisco SystemsIdentity Services Engineapplication
Cisco SystemsIdentity Services Engine Passive Identity Connectorapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures1

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity31

Community discussion across Reddit, Mastodon, and other social sources.