Record summary

CVE-2025-20265 has a selected CVSS score of 10.0 (critical); EIP currently links 3 repository PoCs and 1 lab environment.

Description

A vulnerability in the RADIUS subsystem implementation of Cisco Secure Firewall Management Center (FMC) Software could allow an unauthenticated, remote attacker to inject arbitrary shell commands that are executed by the device.  This vulnerability is due to a lack of proper handling of user input during the authentication phase. An attacker could exploit this vulnerability by sending crafted input when entering credentials that will be authenticated at the configured RADIUS server. A successful exploit could allow the attacker to execute commands at a high privilege level. Note: For this vulnerability to be exploited, Cisco Secure FMC Software must be configured for RADIUS authentication for the web-based management interface, SSH management, or both.

Description source: CVE List

Exploitation context

Available material

Repository PoCs
3
Lab environments
1

CISA SSVC decision

ExploitationNone
AutomatableYes
Technical impactTotal

CISA Coordinator · SSVC 2.0.3 · Evaluated Aug 16, 2025 · Source: CVE List

Affected products and versions

1
ProductSourceVersion rangeStatus

Cisco Firepower Management Center

Browse Cisco / Cisco Firepower Management Center

Default status: unknown

CVE List7.0.7affected
7.7.0affected

Proofs of concept

3

Repository PoCs

GitHubjordan922/cve2025-20265Repository PoCby jordan922Stars: 4Scanner4 files

13.7 KiB

GitHub

PoC details
Analysisdeepseek-v4-pro:cloud ·

Technical assessment

A Python script that checks Cisco FMC instances for CVE-2025-20265 exposure by querying the official REST API for the server version and comparing it against a hardcoded list of affected versions. It does not exploit the vulnerability; it only reports whether the version is in the known-affected set.

Backdoor review

No backdoor observed in reviewed code

The supplied evidence consists of a README and a Python script that checks Cisco FMC versions against a known-affected list for CVE-2025-20265. The script uses the official FMC REST API for read-only version queries and prints a harmless local PoC marker string when a vulnerable version is detected. No backdoor, concealed executable behavior, or operator-directed harm is present in the reviewed text.

ClassificationScanner
Model confidence98%
AuthenticationRequired
LanguagesPython
Target softwareCisco Secure Firewall Management Center (FMC)
Attack typesvulnerability scanning
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The script only performs read-only API calls to check the FMC version and compares it against a known-affected list. It does not send any exploit payload or attempt to execute commands on the target. The README explicitly states 'No exploit code — this tool does not attempt to exploit anything or run commands on the target.' The optional --poc flag prints a local marker without transmitting it. This is a vulnerability scanner, not an exploit.

README.md:8-15fmc_cve2025_20265_checker.py:4fmc_cve2025_20265_checker.py:46-47fmc_cve2025_20265_checker.py:61-84

Requirements

  • Valid FMC credentials with API access are required to authenticate and query the server version.fmc_cve2025_20265_checker.py:49-59fmc_cve2025_20265_checker.py:143-144

Observed behavior

  • Authenticates to the FMC REST API endpoint /api/fmc_platform/v1/auth/generatetoken using provided credentials.fmc_cve2025_20265_checker.py:49-59
  • Retrieves the server version from /api/fmc_platform/v1/info/serverversion.fmc_cve2025_20265_checker.py:61-84
  • Compares the normalized version against a hardcoded set of affected versions (7.0.7, 7.7.0) and prints a vulnerability warning if matched.fmc_cve2025_20265_checker.py:41-44fmc_cve2025_20265_checker.py:123-124
  • Optionally prints a harmless local PoC marker string when a vulnerable version is detected; the marker is never sent to the target.fmc_cve2025_20265_checker.py:46-47fmc_cve2025_20265_checker.py:96-104
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Poc Marker
Payload withheldA static string defined in the script and printed locally when --poc is used; it is never sent to the target. The string resembles a shell command injection payload but is only displayed as a proof-of-concept marker.fmc_cve2025_20265_checker.py:47fmc_cve2025_20265_checker.py:96-104
Review boundaries

What the analysis did not establish

  • The evidence packet reports complete_artifact_coverage as false and indicates 2 text files without content and 2 unclassified files were omitted. Only README.md and fmc_cve2025_20265_checker.py were provided; the remaining repository files (e.g., targets.txt, requirements.txt) are not included, so the full artifact context is incomplete.
  • Two text files (total 5754 bytes) were omitted from the evidence packet; their content was not reviewed. The inventory classifies them as non-executable text, and the selected files provide complete coverage of the artifact's described behavior.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

GitHubsaruman9/cve_2025_20265Repository PoCby saruman9Stars: 0Scanner5 files

92.2 KiB

GitHub

PoC details
Analysisdeepseek-v4-pro:cloud ·

Technical assessment

The artifact is a Rust-based scanner that checks if a target Cisco Secure FMC instance is vulnerable to CVE-2025-20265 by attempting to trigger a callback via SSH and HTTP authentication with a crafted password containing a curl command. It does not execute arbitrary commands on the target; it only validates the vulnerability by observing the callback.

Backdoor review

No backdoor observed in reviewed code

The PoC is a Rust-based scanner/exploit for CVE-2025-20265 (Cisco FMC RADIUS RCE). It checks if a target is a vulnerable Cisco FMC, then attempts to trigger the RCE via SSH and HTTP by injecting a curl command that calls back to the attacker's listener. The code performs only the advertised vulnerability check and exploitation; no hidden persistence, credential theft, unrelated payloads, or deceptive behavior was observed.

ClassificationScanner
Model confidence95%
AuthenticationNot required
LanguagesRust
Target softwareCisco Secure Firewall Management Center
Attack typesRemote Code ExecutionCommand Injection
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The code sends crafted authentication requests to trigger a callback (curl to attacker's IP) if the target is vulnerable, but it only observes the callback to confirm vulnerability. It does not deliver a payload or execute arbitrary commands on the target beyond the diagnostic curl. The README describes it as a 'functional exploit' but the code's primary operation is detection and validation, not exploitation.

README.md:7src/main.rs:125-158src/main.rs:340-345

Requirements

  • Target must be a Cisco Secure FMC instance configured for RADIUS authentication.README.md:1
  • Attacker must have a publicly reachable IP and open port to receive callbacks.src/main.rs:37-40

Observed behavior

  • Performs honeypot detection by checking HTTP redirects, server header, and copyright.src/main.rs:192-250
  • Extracts a version hash from the login page to identify the FMC version.src/main.rs:252-267
  • Attempts SSH authentication with a crafted password containing a curl command to the attacker's listener.src/main.rs:125-142
  • Attempts HTTP authentication with a crafted password containing a curl command to the attacker's listener.src/main.rs:143-158
  • Listens for incoming TCP connections and classifies callbacks as SSH or HTTP RCE based on received data.src/main.rs:304-362
  • Reports the count of targets and successful RCE checks via SSH and HTTP.src/main.rs:183-186
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Callback Command
Payload withheldThe SSH exploit payload injects a curl command to the attacker's listener to confirm RCE. This is the expected behavior for a PoC demonstrating command injection.src/main.rs:127
Callback Command
Payload withheldThe HTTP exploit payload injects a curl command to the attacker's listener to confirm RCE. This is the expected behavior for a PoC demonstrating command injection.src/main.rs:145
Listener
Payload withheldThe PoC starts a TCP listener to receive callbacks from exploited targets, confirming successful RCE. This is standard for a vulnerability scanner/exploit PoC.src/main.rs:71-75src/main.rs:304-308
External Service
Payload withheldThe PoC queries ifconfig.me to obtain the attacker's public IP if not provided. This is necessary for the callback mechanism and is not a backdoor.src/main.rs:297
Review boundaries

What the analysis did not establish

  • Two files (total 5) are omitted from the packet; their content is unknown.
  • The artifact is not executed; classification is based solely on static analysis of the provided source code.
  • Two text files (out of 5 total) were omitted from the evidence packet; their content is unknown but likely non-executable metadata files (e.g., .gitignore, LICENSE).
  • The review is based solely on static source code analysis; no dynamic analysis or execution was performed.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

GitHubamalpvatayam67/day08-CISCO-fmc-simRepository PoCby amalpvatayam67Stars: 1Exploit6 files

4.0 KiB

GitHub

PoC details
Analysisdeepseek-v4-pro:cloud ·

Technical assessment

A bash script (exploit.sh) that sends a crafted JSON payload to a simulated Cisco FMC server, causing it to execute an arbitrary shell command. The README explicitly states it demonstrates the impact class of CVE-2025-20265.

Backdoor review

No backdoor observed in reviewed code

The reviewed text files (Dockerfile, README.md, exploit.sh) describe and implement a local educational simulation of a Cisco FMC management-plane RCE. The exploit.sh script sends a user-supplied command to a local server, and the README explicitly states the simulation is for local learning only. No concealed, deceptive, or operator-directed harmful behavior (credential theft, unrelated remote access, persistence) is present in the supplied evidence.

ClassificationExploit
Model confidence95%
AuthenticationNot required
Languagesbashpythondockerfile
Target softwareCisco Secure Firewall Management Center (simulated)
Attack typescommand injection
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The artifact contains a script (exploit.sh) that actively sends a payload designed to trigger command execution on a target. The README confirms it is a simulation demonstrating the impact of CVE-2025-20265, and the script's behavior is to exploit a command injection vulnerability, not merely detect it.

exploit.sh:1-8README.md:3

Requirements

  • Target server must be running the simulated FMC service on a reachable network port.exploit.sh:3-4

Observed behavior

  • Constructs a JSON payload containing a shell command prefixed with 'CMD:' and sends it via HTTP POST to the /api/config endpoint.exploit.sh:5-8
  • The default command executed is 'cat /opt/flag.txt', demonstrating arbitrary command execution.exploit.sh:5
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Educational Simulation
Payload withheldEstablishes the intended benign purpose of the code, consistent with the absence of backdoor behavior.README.md:3
Command Execution Mechanism
Payload withheldThis is the normal exploit behavior against the stated target (a local simulation server). It does not exhibit concealed or unrelated harmful actions.exploit.sh:5-8
Review boundaries

What the analysis did not establish

  • The server-side code (server.py) that processes the injected command is not included in the evidence, so the exact mechanism of command execution cannot be confirmed.
  • The artifact is a simulation and does not target a real Cisco FMC instance.
  • Three text files (server.py, entrypoint.sh, and three unclassified files) are omitted from the supplied evidence; their content is not reviewed.
  • The review is limited to static analysis of the provided text excerpts; no dynamic execution or binary analysis was performed.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

Docker lab environments

1
GitHub

Repository root

amalpvatayam67/day08-CISCO-fmc-simCreated
Vuln labCVE-2025-20265Dockerfile

1 Dockerfile

Analysisdeepseek-v4-pro:cloud ·

Environment assessment

A single-container Docker environment running a Python HTTP server that simulates a Cisco FMC-style management API. The server intentionally executes shell commands from crafted JSON input for local educational purposes.

Dockerfile:1-15server.py:1-70README.md:1-11

Lab assessment

Vulnerability lab

The README explicitly states it is an educational simulation demonstrating the impact class of a management-plane parsing RCE, inspired by CVE-2025-20265. The server.py contains intentionally unsafe code that executes commands from input, and an exploit.sh script is provided to trigger it.

README.md:1-3server.py:1-10server.py:42-55
Lab shapeDockerfile
ServicesUnknown
Compose manifests0
Dockerfiles1
Evidence & reasoningComponents · CVE assessment · exercise context · review boundaries
Components

Services and files described by the evidence

server.py

vulnerable targetHTTP API server

A Python HTTP server listening on port 8444 that accepts POST requests to /api/config. If the JSON body contains a 'run' field starting with 'CMD:', it executes the remainder as a shell command via subprocess.Popen with shell=True, returning the output.

server.py:1-70server.py:42-55

exploit.sh

exploit scriptproof-of-concept

A bash script that sends a POST request to the server's /api/config endpoint with a JSON payload containing a 'run' field set to 'CMD:<command>'. By default, it attempts to read /opt/flag.txt.

exploit.sh:1-8

entrypoint.sh

container entrypointflag generator

Generates a random flag, writes it to /opt/flag.txt, sets permissions, and then starts the Python server.

entrypoint.sh:1-8

Dockerfile

container build definition

Defines the container image based on python:3.11-slim, copies the server, entrypoint, and exploit scripts, exposes port 8444, sets a healthcheck, and runs entrypoint.sh.

Dockerfile:1-15
CVE assessment

How the supplied evidence relates each vulnerability

CVE-2025-20265

Insufficient evidence

The README states the simulation is 'inspired by CVE-2025-20265', but no details about the actual CVE (affected product, vulnerable code, patch) are provided. The lab's intentionally vulnerable code is a generic command injection, not a reproduction of a specific CVE. The association is claimed but not substantiated by the supplied evidence.

README.md:1-3
Exercise context

Requirements and sequence described by the evidence

Prerequisites

  • Docker must be installed to build and run the container.README.md:5-9
  • The container must be built and running, with port 8444 mapped to the host.README.md:7-9

Evidence-described exercise path

  1. Build the Docker image using the provided Dockerfile.README.md:8
  2. Run the container, mapping port 8444.README.md:9
  3. Execute exploit.sh to send a crafted POST request that triggers command execution (default: cat /opt/flag.txt).exploit.sh:1-8
Safety-review evidence

Behaviors behind the stored safety assessment

No harmful behavior observed

All visible behavior is directed at the lab's own target container. The server intentionally executes commands from input, but only within the container. The exploit script targets the container's localhost. No evidence of host escape, external connections, persistence, credential theft, or destructive behavior is present.

server.py:42-55exploit.sh:4-7Dockerfile:1-15
Review boundaries

What the analysis did not establish

  • The file DISCLAIMER.md is listed in the inventory but its content is not included in the evidence files.
  • No compose file is present; the environment is a single Dockerfile, so multi-service interactions cannot be assessed.
  • The association with CVE-2025-20265 is only a claim in the README; no CVE details or patch are provided to verify the link.
Model interpretation

This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.

References

4