Arista VeloCloud Orchestrator On-Prem OS Command Injection (CVE-2026-16812)
Detects exploitation attempts and post-exploitation indicators of CVE-2026-16812, an OS command injection vulnerability (CWE-78) in Arista VeloCloud Orchestrator On-Prem, actively exploited in the wild and listed on CISA KEV. Attackers send crafted HTTP requests to the Orchestrator management application that result in arbitrary OS command execution on the underlying host, typically leading to shell spawning, reverse shell callbacks, credential harvesting, or webshell deployment.
Vulnerability Intelligence
KEV — Known ExploitedAffected Software
- Vendor
- Arista
- Product
- VeloCloud Orchestrator
Weakness (CWE)
Timeline
- Disclosed
- July 27, 2026
References & Proof of Concept
- https://www.arista.com/en/support/advisories-notices/security-advisory/24364-security-advisory-0144
- https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk
- https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk
- https://nvd.nist.gov/vuln/detail/CVE-2026-16812
CVSS
What is CVE-2026-16812 Arista VeloCloud Orchestrator On-Prem OS Command Injection (CVE-2026-16812)?
Arista VeloCloud Orchestrator On-Prem OS Command Injection (CVE-2026-16812) (CVE-2026-16812) maps to the Initial Access and Execution and Lateral Movement tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for Arista VeloCloud Orchestrator On-Prem OS Command Injection (CVE-2026-16812), covering the data sources and telemetry it touches: CommonSecurityLog, VMConnection, Syslog. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
let SuspiciousTokens = dynamic(['; ','&&','|','$(','`','wget ','curl ','/bin/sh','/bin/bash','base64 -d','python -c','nc -e','chmod +x']);
union isfuzzy=true
(CommonSecurityLog
| where DeviceVendor has 'Arista' or DeviceProduct has 'VeloCloud'
| where RequestURL has_any ('/portal', '/vco', '/velocloud', '/api')
| extend DecodedUrl = url_decode(RequestURL)
| where DecodedUrl has_any (SuspiciousTokens)),
(VMConnection
| where ProcessName has_any ('sh','bash','python','curl','wget','nc')
| where ParentProcessName has_any ('java','node','tomcat','httpd','nginx'))
| project TimeGenerated, DeviceVendor, SourceIP, DestinationIP, RequestURL, ProcessName, ParentProcessName
| sort by TimeGenerated desc Detects HTTP requests to Arista VeloCloud Orchestrator management endpoints containing shell metacharacters or command-injection payload tokens, and correlates with unexpected child processes spawned from the Orchestrator's web application service (Java/Tomcat).
Data Sources
Required Tables
False Positives
- Legitimate administrative scripts uploading configuration via automation using pipe or ampersand characters in benign contexts
- Vulnerability scanners intentionally sending injection test payloads without malicious follow-up
- Third-party network monitoring appliances proxying requests through the same reverse proxy path patterns
Sigma rule & cross-platform mapping
The detection logic for Arista VeloCloud Orchestrator On-Prem OS Command Injection (CVE-2026-16812) (CVE-2026-16812) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2026-16812
References (4)
- https://www.arista.com/en/support/advisories-notices/security-advisory/24364-security-advisory-0144
- https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk
- https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk
- https://nvd.nist.gov/vuln/detail/CVE-2026-16812
Testing Methodology
Validate this detection against 4 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 1Simulate command injection payload via crafted HTTP request
Expected signal: Web/proxy access log entry showing the crafted URI with embedded semicolon and 'id' command token.
- Test 2Spawn shell process from simulated web application parent
Expected signal: Process creation event showing 'sh' or 'bash' with parent process name resembling 'java'.
- Test 3Simulate outbound tool download via curl/wget
Expected signal: Process execution log for curl/wget plus outbound network connection to the lab test server.
- Test 4Drop and remove a test webshell-like file
Expected signal: File creation and deletion event under the simulated web application directory captured by EDR/FIM.
Response Playbook
Triage
- Confirm the affected VeloCloud Orchestrator On-Prem instance's version against Arista's advisory 24364-security-advisory-0144 and determine if it is internet-exposed.
- Review web/proxy access logs for requests to Orchestrator management paths (/portal, /vco, /velocloud, /api) containing shell metacharacters or command tokens in the timeframe surrounding the alert.
- Inspect the Orchestrator application server's process tree for unexpected child processes (sh, bash, curl, wget, python, nc) spawned from the Java/Tomcat web service.
- Check for newly created or modified files under the Orchestrator web application directories that may indicate a webshell was dropped.
Containment
- If internet-exposed and unpatched, immediately restrict inbound access to the Orchestrator management interface via firewall/ACL to trusted management IPs only, or take it offline.
- Isolate the affected Orchestrator host from the network (retaining forensic access) if active command execution or outbound C2 traffic is confirmed.
- Rotate all credentials and API tokens stored on or used to manage the Orchestrator instance, including edge device enrollment tokens.
Evidence Collection
- Preserve web server/proxy access and error logs, Orchestrator application logs, and system audit logs (auditd/EDR) covering the suspected exploitation window.
- Capture a forensic image or memory snapshot of the Orchestrator host prior to remediation if compromise is confirmed or suspected.
- Collect any dropped files, webshells, or scheduled tasks/cron entries found on the host for malware analysis.
Escalation Criteria
- ! Escalate to incident response if command execution is confirmed on the Orchestrator host, given its central management role over SD-WAN edge devices.
- ! Escalate immediately if evidence shows lateral movement from the Orchestrator into managed edge devices or the broader corporate network.
- ! Escalate if the instance is confirmed internet-facing and unpatched, given this CVE is listed on CISA KEV and subject to federal remediation deadlines under BOD 26-04.
Investigation Guide
Forensic Artifacts
- >
Web/proxy access logs showing requests to /portal, /vco, /velocloud, or /api paths with embedded shell metacharacters - >
Process execution logs (auditd, EDR) showing shell interpreters spawned as children of the Orchestrator's Java/Tomcat process - >
Newly created files, cron jobs, or systemd units on the Orchestrator host indicating persistence
Tuning Guidance
Baseline legitimate administrative and automation traffic to the Orchestrator's management API paths before enabling this rule in blocking/high-severity alerting mode, since some configuration workflows may legitimately include special characters in query strings. Narrow matching to combinations of injection tokens plus known malicious command substrings (wget/curl/base64 -d/nc -e) rather than single metacharacters alone to reduce false positives, and prioritize the process-correlation detections (EQL/CQL) over URL-pattern-only detections for higher-confidence alerting.
Hunting Queries
Broader retrospective hunt across the last 30-90 days for any historical requests to the Orchestrator matching command injection indicators, to identify prior undetected exploitation attempts.
CommonSecurityLog
| where DeviceVendor has 'Arista' or DeviceProduct has 'VeloCloud'
| where RequestURL has_any ('wget','curl','base64','/bin/sh')
| summarize count() by SourceIP, RequestURL, bin(TimeGenerated, 1h) index=network sourcetype=arista_velocloud OR sourcetype=proxy
| search uri_path="*wget*" OR uri_path="*curl*" OR uri_path="*base64*" OR uri_path="*/bin/sh*"
| stats count by src_ip, uri_path, _time Atomic Red Team Tests
Sends a crafted HTTP GET request containing shell metacharacters to a lab Orchestrator management endpoint to validate detection of injection attempts.
Command
curl -s -k 'https://lab-orchestrator.local/portal/rest/test?cmd=;id' -H 'User-Agent: atomic-test' Cleanup
No persistent changes made; clear test entries from proxy/access logs if log retention testing requires a clean baseline. Expected Telemetry
Web/proxy access log entry showing the crafted URI with embedded semicolon and 'id' command token.
Expected Detection
KQL/SPL/Chronicle rules alert on the request URI containing shell metacharacters directed at the Orchestrator management path.
Simulates a shell process being spawned as a child of a Java/Tomcat-like parent process to emulate post-exploitation command execution on the Orchestrator host.
Command
bash -c 'exec -a java bash -c "/bin/sh -c id"' Cleanup
No files or persistence created; terminate any residual test shell processes. Expected Telemetry
Process creation event showing 'sh' or 'bash' with parent process name resembling 'java'.
Expected Detection
Elastic EQL sequence rule and CrowdStrike CQL query alert on shell interpreter spawned from a Java-named parent process.
Executes a curl/wget download to a benign lab-controlled endpoint to emulate post-exploitation ingress tool transfer behavior following exploitation.
Command
curl -s -o /tmp/atomic_test_payload http://lab-test-server.local/benign_payload.txt && rm -f /tmp/atomic_test_payload Cleanup
Command self-removes the downloaded test file; verify /tmp/atomic_test_payload no longer exists. Expected Telemetry
Process execution log for curl/wget plus outbound network connection to the lab test server.
Expected Detection
CrowdStrike CQL join query and Elastic EQL correlate the process execution with the outbound network connection.
Creates and immediately removes a test file in a web-accessible directory on a lab Orchestrator instance to validate file-creation monitoring for webshell persistence.
Command
touch /tmp/lab_webapp_root/test_webshell.jsp && sleep 2 && rm -f /tmp/lab_webapp_root/test_webshell.jsp Cleanup
File is removed by the command itself; confirm no residual file remains in the test web application directory. Expected Telemetry
File creation and deletion event under the simulated web application directory captured by EDR/FIM.
Expected Detection
SIEM file integrity monitoring alert or EDR file-creation rule flags the new file in the web application root as a potential webshell.