Veeam Backup & Replication wave: the “read-only” backup role is a SYSTEM foothold¶
Wave in one line: Backup Viewer to SYSTEM RCE, master-key tamper, Cloud Connect tenant-to-provider file read, AAP credentials in guest logs (two bulletins: KB4934 VBR 12.3.2 P4, KB4902 VBR 13.1)
Source: GitHub advisories published 2026-10-07 09:32Z across two vendor bulletins — KB4934 (VBR 12.3.2 P4) and KB4902 (VBR 13.1). Related pages: Oct 6 HPE ClearPass NAC plane (credential-dense appliance reasoning), Sept 21 management-plane page (config-write/monitoring-plane doctrine).
Why this is durable: backup infrastructure is the highest-value lateral target on most enterprise networks (full-machine backups, embedded guest credentials, restore-path trust), and Veeam has been the ransomware-era poster child for it. This wave lands remote code execution as SYSTEM and Enterprise Manager master-key modification from the lowest console role, plus a Cloud Connect tenant→provider arbitrary file read — the tenant boundary every hosting MSP believed it had.
The wave¶
| Advisory | CVE | Sev / CVSSv4 | Primitive | Fixed build |
|---|---|---|---|---|
| GHSA-6m95-66x2-x5hx | CVE-2025-64393 | critical / 9.4 | Backup Viewer role → RCE as SYSTEM on the backup server via insecure deserialization of untrusted data received via the Mount Service | VBR 12.3.2 P4 (12.3.2.4934); all 12.x ≤12.3.2.4854 affected, v13 not affected |
| GHSA-66c3-wq53-j995 | CVE-2026-93026 | medium / 6.1 | Backup Viewer → modify/delete the Enterprise Manager master key, read/overwrite stored antivirus update credentials | same 12.3.2 P4 band |
| GHSA-r23p-vwcm-9rwv | CVE-2025-64392 | medium | Reflected XSS in Backup Enterprise Manager portal (crafted link, authenticated portal user) | 12.3.2 P4 |
| GHSA-p473-xc22-vrvr | CVE-2026-58069 | high / 8.3 | Authenticated Cloud Connect tenant → read arbitrary files on the service-provider host | VBR 13.1 (13.1.0.411), 13.0.3 (13.0.3.63), 12.3.2 P4 |
| (KB4902, no GHSA) | CVE-2026-58070 | medium | Application-Aware Processing guest-OS credentials written in cleartext to logs on the guest machine; fix prevents future writes — old logs persist, vendor advises rotating the AAP credentials | VBR 13.1, 13.0.3 |
| GHSA-cgxq-wgfh-j24j | CVE-2026-58068 | medium | Veeam Agent for Microsoft Windows: any local user can terminate arbitrary processes on the system | Agent 13.1 (13.1.0.544) |
| GHSA-5r3x-99rx-26hr | CVE-2025-64391 | medium | Veeam Agent install-time LPE: low-privileged local user → arbitrary file writes as SYSTEM by manipulating mount points and symbolic links during an admin-run install | Agent 13.1 |
Operator axes¶
- Audit backup-console roles from the lowest tier up. Two of the headline legs ride the Backup Viewer role — the role admins hand to auditors, junior operators, and read-only service accounts. A Viewer obtaining SYSTEM RCE (64393) or master-key control (93026) means the role model's bottom rung was never a safe foothold. On any engagement with Veeam console access at any tier, treat Viewer as a code-execution candidate and document which service accounts hold it — they are usually unmonitored and have long-lived credentials.
- The Mount Service is a separate deserialization surface, not the console. The SYSTEM RCE rides the Mount Service (VBR's backup-mount/restore data path), a distinct listener with its own protocol and its own parser. Boundary rule for backup platforms: enumerate the auxiliary service endpoints (mount service, gateway/proxy, WAN accelerator, EM portal, guest agents) separately from the console web UI and ask per-listener: what deserializes what, and is the console's authz even in the picture? Console-tier authz audits that skip the data-path listeners miss exactly this class.
- Master-key modify/delete by a low-priv role is an integrity kill-switch. 93026 lets a Viewer rotate or destroy the Enterprise Manager master key and overwrite stored antivirus-update credentials. Two red-team impact paths follow: (a) encryption-key custody on backup servers underpins "immutable/encrypted" restore claims — a Viewer who can touch the key collapses the recovery guarantee; (b) stored AV update credentials on a backup server are a distribution-shaped lateral asset (update-channel trust). Report severity should reflect integrity/blast-radius, not the CVSS "medium" label — the paired RCE leg shows this role tier reaches SYSTEM anyway.
- Cloud Connect: tenant→provider file read breaks the hosting boundary (58069). A single authenticated tenant reading arbitrary files on the service-provider host sits above every other tenant on that host: provider hosts hold metadata, configs, and interface credentials for all hosted tenants. For MSP/hosting-provider scope, this is the cross-customer leg to validate first; for enterprise scope, note it as evidence that tenant-restricted RBAC on the Cloud Connect tenant plane is not file-path confinement. Probe only against provider infrastructure you own or are explicitly authorized to test.
- AAP cleartext credentials in guest logs = standing recon target post-footloose (58070). Veeam Application-Aware Processing needs guest-OS credentials; the advisory says they were written in cleartext into log files on the guest, the patch only stops future writes, and the vendor tells customers to rotate the credentials. Operational takeaway for red-team post-compromise triage: on any Windows host with Veeam Agent/VBR guest processing, grep the Veeam log directories for embedded AAP credentials regardless of patch level — historical logs survive updates, and vendor "rotate your passwords" notices confirm the material was recoverable. Keep findings to your own lab or scope-authorized hosts; never harvest third-party guest credentials.
- Three version surfaces to fingerprint, not one. 64393/93026 affect 12.x only (v13 unaffected, fixed 12.3.2 P4 = build 12.3.2.4934); 58069 fixes span 13.1/13.0.3/12.3.2 P4; the Agent legs fix at Agent 13.1 (13.1.0.544) on its own build line. Fingerprint VBR console build, EM build, and Agent build separately — a patched console tells you nothing about the Agent fleet or an out-of-band EM.
- Install-time LPE via mount points/symlinks (64391) is the shared-host class, again. The Agent installer running as SYSTEM over attacker-influenced mount-point/symlink state is the same install-time primitive as the oc-mirror/legit-family items; local recon (world-writable Veeam install/cache paths before an admin reinstalls/updates) is the precondition check.
Validation boundaries¶
Authorized labs only: disposable VBR 12.3.2 instance at/below the 4934 build, your own synthetic Backup Viewer account, synthetic Cloud Connect tenant on provider infrastructure you control. Proofs: role-tier → service-reachability decision table; Mount Service listener identification by port/banner without triggering deserialization payloads; AAP-log canary using a lab-set password you then rotate; never modify/delete a real master key, read real tenant files, or run deserialization payloads against production backup servers.