Like leaving the master key in a guest-readable logbook, then trusting anyone who quotes the key number
CVE-2026-32996 is a local privilege escalation in Veeam Agent for Microsoft Windows affecting all version 13 builds prior to 13.0.3.1220 (includes 13.0.1.2067 and 13.0.2.1102). The Veeam Endpoint Backup service caches elevated administrator session UIDs in C:\ProgramData\Veeam\Endpoint\Svc.VeeamEndpointBackup.log—a file readable by any local user. An attacker with low-privilege local access reads a valid session GUID from the log, then replays it over the service's gRPC named pipe (\\.\pipe\Veeam\VAW\ServiceConnectionPipe). The service never verifies the caller's identity against the session—it only checks that the GUID matches a cached elevated session—so it happily executes the attacker's commands as NT AUTHORITY\SYSTEM. The CWE-532 (Insertion of Sensitive Information into Log File) root cause makes this 100% reliable: no heap spray, no race condition, just read a file and quote a GUID.
Veeam rates this HIGH at CVSS v4.0 7.3, which is honest about the local-access prerequisite but underweights the deployment context. Veeam Agent isn't a peripheral utility—it's the backup agent sitting on production database servers, domain controllers, and the Veeam B&R server itself. Ransomware operators have repeatedly targeted Veeam components (CVE-2023-27532, CVE-2024-40711) specifically because SYSTEM on a backup host means the power to wipe recovery data before detonation. Arctic Wolf confirmed active exploitation as of September 16, 2026, and a weaponized PoC (suce0155/CVE-2026-32996) has been public since September 14. The original flaw was reported by Alibaba via HackerOne and disclosed May 28, 2026—giving defenders nearly four months of patch lead time that is now expired.
5 steps from start to impact.
Gain local access to a Veeam-protected host
- Local or remote interactive/shell access to the target host
- Veeam Agent for Windows version 13.x < 13.0.3.1220 installed and service running
- Requires prior compromise—this is a post-initial-access escalation vector, not an entry point
- Host must be running Veeam Agent v13 specifically; v12 and earlier are unaffected
Read the world-readable Veeam service log
C:\ProgramData\Veeam\Endpoint\Svc.VeeamEndpointBackup.log. Default ACLs grant read access to the BUILTIN\Users group—no exploit, no ACL bypass, no UAC prompt required. The file contains cached elevated session GUIDs written by the Veeam Endpoint Backup service when an administrator interacts with the agent management interface.- An administrator must have recently used the Veeam Agent UI or management console, causing the service to cache an elevated session UID in the log
- If no admin has recently interacted with the agent, no valid UID exists—attacker must wait or socially engineer admin activity
- Log rotation could remove stale UIDs, though Veeam's default rotation window is generous
C:\ProgramData\Veeam\Endpoint\. Any non-Veeam process reading this file is anomalous.Extract a valid elevated session GUID
9048554a-ec99-4e18-8bc4-edc637e8d8d4). The public PoC tool CVE-2026-32996.exe automates this—it scans the log, validates GUID format, and selects a usable identifier. No cryptographic material, tokens, or passwords are needed; the GUID alone is the authentication credential the service trusts.- Valid, unexpired session GUID present in the log
- Minimal—PoC automates extraction; a GUID is trivially parseable with regex
Connect to the gRPC named pipe with the stolen GUID
\\.\pipe\Veeam\VAW\ServiceConnectionPipe and presents the stolen session GUID as the authentication token. The Veeam Endpoint Backup service accepts the GUID without verifying that the connecting process or user matches the original authenticated administrator. It only checks that the GUID corresponds to a cached elevated session—classic confused-deputy flaw.- Named pipe is listening (Veeam Agent service is running, which is the default state)
- None—the named pipe is accessible to any local user by default
Execute arbitrary commands as NT AUTHORITY\SYSTEM
whoami > C:\pwned.txt, but the primitive is arbitrary command execution—adding local admins, dumping LSASS, deploying ransomware, deleting Veeam backup catalogs, or pivoting laterally via stored Veeam credentials are all on the table.- Veeam Endpoint Backup service running as SYSTEM (default and required configuration)
- None—SYSTEM is the default and expected service account
Veeam.EndPoint.Service.exe with unexpected children (cmd.exe, powershell.exe, net.exe, whoami.exe). EDR behavioral rules for SYSTEM-context process trees spawned by backup service binaries.The supporting signals.
| In-the-Wild Status | Active exploitation confirmed by Arctic Wolf (September 16, 2026). Also covered by The Hacker News. Veeam backup infrastructure is a proven ransomware-operator target (cf. CVE-2023-27532 / EstateRansomware, CVE-2024-40711 / Akira & Fog). |
|---|---|
| Proof-of-Concept | Public weaponized PoC: suce0155/CVE-2026-32996 — compiled .exe, single-argument invocation (CVE-2026-32996.exe "<cmd>"). Released September 14, 2026. Includes video demo (poc2.mp4). |
| EPSS | 0.00154 (~15th percentile) per user-provided data. Likely stale—PoC publication on Sep 14 and confirmed exploitation should push the score higher in upcoming FIRST model updates. |
| CISA KEV | Not listed as of 2026-09-22. Given confirmed active exploitation and public PoC, KEV addition is plausible in the near term. |
| CVSS v4.0 (Vendor) | 7.3 HIGH — CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Local vector, low complexity, attack requires present conditions (admin session UID in log). Full CIA impact on the host; no scope change. |
| CVSS v3.1 (Tenable) | 7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Same local LPE interpretation without the v4 AT:P modifier, yielding a slightly higher base score. |
| Affected Versions | Veeam Agent for Microsoft Windows all version 13 builds prior to 13.0.3.1220 — confirmed vulnerable: 13.0.1.2067, 13.0.2.1102, and all earlier v13 builds. Version 12.x and earlier are not affected. |
| Fixed Version | Veeam Agent build 13.0.3.1220, deployed via Veeam Backup & Replication 13.0.2.29 or later. See KB4852. No vendor-supported workaround exists. |
| Disclosure & Reporter | Disclosed 2026-05-28. Reported by Alibaba via HackerOne. Assigned by HackerOne CNA. PoC published ~109 days post-disclosure. |
| Scanning / Exposure | Not remotely exploitable (AV:L). No Shodan/GreyNoise/Censys footprint relevant. Your exposure surface is your internal Veeam Agent v13 fleet—query SCCM, Intune, or your endpoint inventory for Veeam.Agent.Windows version < 13.0.3.1220. |
Why this verdict
- Active exploitation with weaponized PoC: Arctic Wolf confirmed in-the-wild exploitation as of September 2026, and a turnkey public PoC has been available since September 14. The exploit is trivial—read a world-readable log file, extract a GUID, connect to a named pipe. No memory corruption, no race condition, no specialized tooling. This pushes the effective risk well above what the EPSS score currently reflects.
- Local access prerequisite is real friction but does not neutralize the threat: CVSS AV:L means the attacker must already hold a foothold on the host. This makes CVE-2026-32996 a post-compromise escalation tool, not an initial access vector. In a friction-only analysis, this would pull severity toward MEDIUM. However, in ransomware kill chains, local access to servers is routinely achieved via phishing → lateral movement, making this prerequisite commonly satisfied by the time an operator needs privilege escalation.
- Role multiplier — backup/DR infrastructure (HIGH floor): Veeam Agent is a backup/DR component explicitly listed in the noisgate high-value role catalog. On Veeam B&R servers, backup repository hosts, and any server where the agent protects production data, SYSTEM access enables: (1) destruction of backup catalogs and repository data, eliminating recovery options; (2) extraction of credentials stored in the Veeam configuration database; (3) lateral movement using Veeam's managed credentials for protected hosts. The blast radius on these hosts is fleet-scale—destroy the backups, then detonate ransomware network-wide with no recovery path. This sets the verdict floor at HIGH.
- Role multiplier — domain controllers and production databases: Veeam Agent is commonly deployed on DCs (for bare-metal/AD recovery) and production SQL/Oracle servers. SYSTEM on a DC = domain compromise via DCSync or direct NTDS.dit access. SYSTEM on a production database = mass data exfiltration of regulated data. These deployment roles push the chain outcome to 'domain takeover / mass data egress' territory, reinforcing the HIGH floor.
- CWE-532 root cause is 100% reliable across all affected builds: Unlike memory corruption or timing-dependent vulnerabilities, reading a world-readable file and parsing a GUID format succeeds deterministically. No ASLR, DEP, CFG, or exploit mitigation interferes. This makes the exploit maximally weaponizable and reduces attacker skill requirements to script-kiddie level.
Why not higher?
The chain requires local access (AV:L), making this definitively a post-compromise tool rather than an initial access vector. An attacker cannot reach this vulnerability from the internet. Additionally, the session UID must be present in the log—an admin must have recently interacted with the agent, introducing an AT:P (attack-requires-present-conditions) dependency that won't always be met. While Veeam Agent is a backup component and occupies high-value roles, it is also deployed broadly on standard servers and workstations where SYSTEM is impactful but host-scoped. The combination of mandatory prior compromise and the session-presence dependency prevents escalation to CRITICAL.
Why not lower?
Active exploitation confirmed by Arctic Wolf eliminates any consideration below HIGH. The public PoC is weaponized and trivially usable. Veeam backup infrastructure is a documented ransomware-operator target with a track record of CVE weaponization (CVE-2023-27532 by EstateRansomware, CVE-2024-40711 by Akira and Fog groups). This CVE gives an attacker who already has a foothold exactly the privilege escalation needed to destroy backup data before ransomware detonation—the highest-value post-compromise action in the modern kill chain. The backup/DR deployment role sets a hard floor at HIGH per noisgate deployment-role policy.
What to do — in priority order.
- Patch to Veeam Agent 13.0.3.1220 immediately — Given active exploitation, override the standard HIGH 30-day mitigation window—deploy the patch within hours. Update Veeam Backup & Replication to 13.0.2.29+ via KB4852, which pushes the fixed agent build automatically. Prioritize backup servers, B&R servers, domain controllers, and production database servers first, then sweep the remaining agent fleet. The noisgate remediation SLA for HIGH is 180 days, but the active-exploitation override means you should not wait.
- Harden ACLs on the Veeam service log directory — Set
C:\ProgramData\Veeam\Endpoint\Svc.VeeamEndpointBackup.logto SYSTEM and BUILTIN\Administrators-only read access viaicacls. This breaks the first step of the exploit chain (standard-user log file read). Deploy via GPO immediately as a compensating control while patching proceeds. Test that Veeam backup jobs still function after the ACL change. - Deploy EDR detection for named pipe abuse and SYSTEM child processes — Create behavioral rules for: (1) connections to
\\.\pipe\Veeam\VAW\ServiceConnectionPipefrom non-Veeam processes (Sysmon 17/18); (2) child process creation fromVeeam.EndPoint.Service.exewhere the child iscmd.exe,powershell.exe,net.exe, orwhoami.exe. Push within 24 hours. Arctic Wolf notes their managed detection covers multiple stages of this exploitation chain. - Restrict local interactive access on backup infrastructure hosts — Review and minimize local logon rights on Veeam B&R servers and backup repository hosts. Remove unnecessary users from the local Users and Remote Desktop Users groups. Enforce MFA for all RDP sessions. This raises the barrier to the initial local-access prerequisite. Deploy within the noisgate mitigation SLA override (hours, given active exploitation).
- Audit Veeam-stored credentials for lateral movement risk — Veeam B&R stores credentials for managed hosts. If an attacker gains SYSTEM on a Veeam server, they can extract these credentials. Rotate all Veeam-managed credentials after patching. Ensure Veeam service accounts use dedicated, least-privilege accounts—not Domain Admin.
- Network segmentation / firewall rules — This is a local privilege escalation; the entire attack happens over a local named pipe with no network traffic. Isolating Veeam servers at the network layer does not prevent an attacker who already has local access from escalating.
- Disabling the Veeam Agent service — Stops the exploit but also halts all backup operations on the host. In a ransomware threat scenario, losing backup capability is arguably more dangerous than the vulnerability itself. This is not a viable compensating control.
- Application whitelisting / AppLocker blocking the PoC binary — The PoC is a standalone .exe, but the underlying attack (reading a file + connecting to a named pipe + sending a GUID) can be trivially replicated in PowerShell, C#, or Python. Blocking the specific PoC binary is a whack-a-mole exercise that provides zero durable protection.
Crowdsourced verification payload.
Run on each target Windows host where Veeam Agent may be installed. No admin privileges required for the version check. Example invocation: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-32996.ps1. For fleet-wide scanning, push via SCCM, Intune, or your RMM tool and collect exit codes.
# Check-CVE-2026-32996.ps1
# Detects whether Veeam Agent for Windows is vulnerable to CVE-2026-32996
# Local Privilege Escalation via session UID leak in service log file
# Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN / NOT INSTALLED
$ErrorActionPreference = 'SilentlyContinue'
$agentVersion = $null
# Method 1: Check registry for Veeam Agent version
$regPaths = @(
'HKLM:\SOFTWARE\Veeam\Veeam Agent for Microsoft Windows',
'HKLM:\SOFTWARE\Veeam\Veeam Endpoint Backup'
)
foreach ($rp in $regPaths) {
$reg = Get-ItemProperty -Path $rp -ErrorAction SilentlyContinue
if ($reg -and $reg.Version) {
$agentVersion = $reg.Version
break
}
}
# Method 2: Fallback to service binary version
if (-not $agentVersion) {
$svc = Get-WmiObject Win32_Service -Filter "Name='VeeamEndpointBackupSvc'" -ErrorAction SilentlyContinue
if ($svc -and $svc.PathName) {
$exePath = $svc.PathName.Trim('"')
if (Test-Path $exePath) {
$agentVersion = (Get-Item $exePath).VersionInfo.ProductVersion
}
}
}
# Method 3: Fallback to Uninstall registry
if (-not $agentVersion) {
$uninstKeys = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' -ErrorAction SilentlyContinue
foreach ($key in $uninstKeys) {
$props = Get-ItemProperty $key.PSPath -ErrorAction SilentlyContinue
if ($props.DisplayName -match 'Veeam Agent') {
$agentVersion = $props.DisplayVersion
break
}
}
}
if (-not $agentVersion) {
Write-Host 'UNKNOWN - Veeam Agent for Windows not detected on this host.'
exit 2
}
Write-Host "Detected Veeam Agent version: $agentVersion"
try {
$detected = [System.Version]$agentVersion
} catch {
Write-Host "UNKNOWN - Could not parse version string: $agentVersion"
exit 2
}
$minAffected = [System.Version]'13.0.0.0'
$fixedVersion = [System.Version]'13.0.3.1220'
if ($detected -lt $minAffected) {
Write-Host 'PATCHED - Version is below 13.0 (not affected by CVE-2026-32996).'
exit 0
}
if ($detected -ge $fixedVersion) {
Write-Host 'PATCHED - Version >= 13.0.3.1220. CVE-2026-32996 is fixed.'
exit 0
}
# Version is in the affected range
Write-Host 'VULNERABLE - Veeam Agent version is in the affected range (13.0.x < 13.0.3.1220).'
# Check exploit precondition: is the log file world-readable?
$logPath = 'C:\ProgramData\Veeam\Endpoint\Svc.VeeamEndpointBackup.log'
if (Test-Path $logPath) {
Write-Host "WARNING: Vulnerable log file exists at $logPath"
$acl = Get-Acl $logPath -ErrorAction SilentlyContinue
if ($acl) {
$readable = $acl.Access | Where-Object {
$_.IdentityReference -match 'BUILTIN\\Users|Everyone|Authenticated Users' -and
$_.FileSystemRights -match 'Read'
}
if ($readable) {
Write-Host 'WARNING: Log file is readable by standard users (exploit precondition MET).'
} else {
Write-Host 'NOTE: Log file ACL appears hardened (exploit precondition may be mitigated).'
}
}
} else {
Write-Host 'NOTE: Log file not currently present (precondition not yet met, but may appear after admin activity).'
}
exit 1- Arctic Wolf — Active Exploitation Advisory (Sep 2026)
- Veeam KB4852 — Vendor Security Advisory
- Tenable — CVE-2026-32996 Detail
- NVD — CVE-2026-32996
- suce0155 — Public PoC Exploit (GitHub)
- The Hacker News — Zyxel and Veeam Flaws Under Active Exploitation
- SecurityOnline — Actively Exploited Veeam Agent Vulnerability PoC
- Veeam KB4738 — VBR 13 Release Information
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.