A helpdesk tech with a lowly account gets the keys to every machine they can click on
SolarWinds Dameware Remote Support / Mini Remote Control contains a command injection flaw (CWE-20). An authenticated low-privilege user who can reach the Dameware console can pass shell metacharacters through a parameter used in a remote session or administrative action; the unsanitized value is executed by the OS on the remotely controlled host, giving the attacker SYSTEM- or root-level code execution. Affected versions are 2026.3 and earlier; fixed in 2026.4.
SolarWinds rates this 9.9 CRITICAL with AV:N/PR:L/UI:N/S:C. That score presumes the Dameware console is network-reachable by a low-privileged account and that compromise of one remote host is a scope change. In most enterprise deployments the console sits on an internal management VLAN and requires valid low-privilege credentials — a real barrier. No public PoC, Metasploit/Exploit-DB/nuclei template, or in-the-wild exploitation has been observed as of 2026-11-03, so the vendor’s CRITICAL is too high for today’s exposure, but the post-auth blast radius is still severe.
Bottom line: Patch to 2026.4 on the noisgate remediation SLA (≤180 days for HIGH), and immediately restrict Dameware console/agent network paths and enforce MFA/least privilege on the noisgate mitigation SLA (≤30 days). Treat any low-priv Dameware account as a potential SYSTEM pivot.
5 steps from start to impact.
Gain low-privilege access to the Dameware console
- Valid low-privilege account in SolarWinds Dameware
- Network access to the Dameware server (usually internal/VPN)
- Dameware consoles are rarely published to the internet
- Low-privilege Dameware accounts may be tied to AD and can require MFA
- No known default credentials for current versions
Locate a remote host with a Dameware agent and initiate an action
- Target host has Dameware agent or is reachable via Dameware proxy
- Attacker has rights to initiate remote-control actions
- Role-based restrictions may block certain actions for low-priv users
- Agents are not installed on all hosts; many security teams exclude domain controllers
Inject shell metacharacters into an unsanitized parameter
; calc, | powershell -e ... — and submits the request. Because CVE-2026-28336 exists in versions ≤2026.3, the value is passed to a shell or command interpreter on the remote host without escaping, executing the supplied command as the agent service account.- Dameware version ≤2026.3
- Specific vulnerable action/parameter is reachable by the authenticated user
- Remote host OS supports shell metacharacters
- No public PoC/exploit module exists as of 2026-11-03, so the exact parameter must be found manually or via private research
- Input validation differences may vary by deployment
Gain SYSTEM/root on the remote host
- Agent service runs with elevated privileges (standard default)
- No application whitelisting blocks the child process
- On hardened endpoints, AppLocker/WDAC or EDR may kill the shell
- Some deployments run the agent as a lower-priv account (less common)
Pivot to domain or fleet impact
- Target host is high-value (DC, server) and has Dameware agent installed
- Weak network segmentation allows lateral traffic
- No tiered admin / privileged access management for domain trusts
- Many orgs exclude DCs from remote-control tooling as a security baseline
- Credential dumping triggers EDR/identity protection alerts if configured
cmd.exe, powershell.exe, cscript.exe, or other shells spawned by the Dameware agent. This doesn't patch the injection but blunts SYSTEM execution. Implement within 30 days.- Network microsegmentation alone: already-low-priv console users are still inside the trusted zone, so this doesn't stop the post-auth injection.
- Standard WAF/IDPS on the perimeter: Dameware traffic is normally internal and uses proprietary protocols; external web filters won't see the injection.
- Unauthenticated vulnerability scanning: cannot confirm this flaw because the attack requires valid credentials and a non-HTTP session.
The supporting signals.
| In-the-wild status | No known exploitation; OffSeq Mirage saw no traffic; not in CISA KEV; no vendor or third-party reports of active use as of 2026-11-03. |
|---|---|
| Proof-of-concept availability | No public exploit code indexed by Metasploit, Exploit-DB, GitHub, or nuclei templates; Mallory/OffSeq report no PoC. |
| EPSS score / percentile | No EPSS yet (Feedly: No EPSS yet); treat as low probability but not zero. |
| KEV status / dates | Not listed in CISA KEV; no known exploitation windows. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — 9.9 CRITICAL; scope change reflects pivot from console to remote host. |
| Affected versions | Dameware 2026.3 and all earlier versions. |
| Fixed versions | SolarWinds Dameware 2026.4 or later. |
| Scanning / exposure data | No public Shodan/Censys/GreyNoise data; Dameware consoles are typically internal-only, but internet-facing instances should be assumed rare. |
| Disclosed / reported | CVE published 2026-11-03; reporting researcher/org not disclosed in available sources. |
Sources.
Why this verdict
- Role multiplier: Dameware is an RMM-style reach-into-everything platform. In the low-value role, a compromised workstation is just a workstation; in the typical role, it manages line-of-business servers; in the high-value role, Dameware agents are installed on domain controllers, file servers, or the IT management plane itself. In that high-value role the post-auth chain gives a low-priv console user SYSTEM on a DC → DA → domain takeover. We estimate ≥10% of enterprise Dameware deployments include at least one server/DC agent, so the floor is HIGH.
- Authentication and network reach: CVSS treats this as AV:N, but the first hop requires a valid low-priv account and reachability to the Dameware console, which is normally hidden behind a VPN/internal VLAN. This removes the internet-drive-by mass-exploitation scenario and pulls the score down from 9.9.
- No public exploit or active use: As of 2026-11-03 there is no PoC, no Metasploit/Exploit-DB/nuclei template, and no KEV or in-the-wild reports, so the likelihood of immediate automated exploitation is lower than the vendor score suggests.
- Patch available: A fixed release (2026.4) exists, so this is a solvable defect, not an unpatched zero-day.
Why not higher?
Not CRITICAL today because the documented chain requires valid low-privilege credentials and access to an internal management console; there is no unauthenticated remote vector, no public exploit, and no KEV/exploited-in-the-wild signal. The 9.9 CVSS score assumes network reach and immediate scope change, which overstates the number of exposed orgs.
Why not lower?
Not MEDIUM because the post-auth payoff is SYSTEM on the remote host and, in the high-value role, can lead to domain or fleet compromise. The low-privilege bar is not high enough to offset that multiplier; also, remote support agents are often installed broadly across servers.
Crowdsourced verification payload.
Run on any machine where SolarWinds Dameware Remote Support, Mini Remote Control, or Internet Session Agent is installed — central servers, admin workstations, and managed endpoints. Requires local administrator rights on the target host. Invoke from PowerShell as powershell -ExecutionPolicy Bypass -File check_dameware.ps1.
# check_dameware.ps1
# Checks installed SolarWinds Dameware versions against CVE-2026-28336
# Output: VULNERABLE (version <= 2026.3), PATCHED (>= 2026.4), UNKNOWN
# Exit: 1=VULNERABLE, 0=PATCHED, 2=UNKNOWN
$ErrorActionPreference = 'SilentlyContinue'
$paths = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
)
$entries = foreach ($p in $paths) {
Get-ItemProperty -Path $p -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -match 'Dameware' }
}
if (-not $entries) {
Write-Output 'UNKNOWN'
exit 2
}
$vulnerableFound = $false
$patchedFound = $false
foreach ($e in $entries) {
$ver = $e.DisplayVersion
if ($ver -and $ver -match '^(\d{4})(?:\.(\d+))?') {
$year = [int]$Matches[1]
$minor = [int]$Matches[2]
if ($year -lt 2026 -or ($year -eq 2026 -and $minor -le 3)) {
$vulnerableFound = $true
}
elseif ($year -gt 2026 -or ($year -eq 2026 -and $minor -ge 4)) {
$patchedFound = $true
}
}
}
if ($vulnerableFound) { Write-Output 'VULNERABLE'; exit 1 }
elseif ($patchedFound) { Write-Output 'PATCHED'; exit 0 }
else { Write-Output 'UNKNOWN'; exit 2 }