CVE-2026-9787
Executive Summary
CVE-2026-9787 is a command injection vulnerability in Quest NetVault Backup's NVBULogDaemon service, a component responsible for handling JSON-RPC log messages. The flaw stems from improper validation of user-supplied strings before their use in a system call, allowing an authenticated remote attacker to execute arbitrary operating system commands with SYSTEM privileges. With a CVSS score of 8.8 (High), this vulnerability affects all versions of the NetVault Backup product for which a patch has not yet been released, leaving enterprise backup infrastructure exposed to full compromise, lateral movement, and ransomware deployment. As of this report, no public exploit exists, but the authentication bypass mechanism mentioned in the advisory increases the practical risk significantly.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Quest NetVault Backup is a cross-platform enterprise backup solution that centralizes backup management across heterogeneous environments. The product's architecture includes a suite of daemon services, one of which is NVBULogDaemon, responsible for collecting, processing, and routing log messages generated by various backup jobs and system components.
The vulnerability exists within the JSON-RPC message processing functionality of NVBULogDaemon. The service listens on network ports for JSON-RPC requests and processes method calls to perform logging operations. Specifically, when handling certain JSON-RPC methods, the daemon extracts a string parameter from the request and passes it to a system-level command (likely via system(), popen(), or a similar C runtime function) without adequate sanitization or escaping.
The lack of proper validation means that if an attacker can inject shell metacharacters (e.g., ;, |, &, $(), backticks) into the string parameter, those characters will be interpreted by the operating system's command interpreter. The flaw is classified as CWE-78 (Improper Neutralization of Special Elements used in an OS Command), indicating a classic command injection vector.
Notably, while authentication is required to invoke the vulnerable JSON-RPC methods, the advisory states that "the existing authentication mechanism can be bypassed." This suggests an additional weakness in the authentication flow — potentially a hardcoded credential, a weak session token validation, or an unauthenticated reconciliation path — that allows remote, unauthenticated attackers to reach the vulnerable code path. The combination of command injection with an authentication bypass elevates this from a post-authentication issue to a potentially remotely exploitable critical flaw.
The service runs in the context of the system account (SYSTEM on Windows, root on Linux/Unix variants), meaning any successful exploitation grants complete control over the underlying operating system, including access to all files, credentials, and the ability to disable security controls.
Exploitation Scenarios
The following attack chain describes how an attacker would exploit CVE-2026-9787:
Step 1 — Reconnaissance and Target Identification:
The attacker scans for exposed NetVault Backup servers. NVBULogDaemon listens on TCP ports associated with the backup management service (commonly port 20031 or similar dynamically assigned ports). Shodan queries such as product:"NetVault Backup" or banner-based searches will identify targets. Alternatively, internal network scanning using Nmap with service detection (nmap -sV -p 20031 <target_network>) will reveal the service. The attacker also probes for the authentication bypass by sending malformed JSON-RPC requests to determine if authentication checks can be skipped or if default credentials are accepted.
Step 2 — Authentication Bypass:
The attacker first exploits the authentication bypass mechanism. This may involve sending a crafted JSON-RPC session initialization request with an invalid or empty session token. If the daemon fails to validate the token properly and processes the request anyway, the attacker achieves an authenticated state. Alternatively, the attacker may test default credentials commonly found in backup software (e.g., "admin/admin", "root/root") or leverage a known hardcoded credential specific to the NVBULogDaemon service.
Step 3 — Weaponized JSON-RPC Request:
Once authenticated, the attacker crafts a JSON-RPC request targeting a log-related method that accepts a string parameter (e.g., a log message field, a file path, or a hostname). The injection payload is embedded within this string. For example, a request might look like:
{
"jsonrpc": "2.0",
"method": "log.write",
"params": {
"message": "Backup job completed for host victim$(cmd /c whoami > C:\\temp\\proof.txt)"
},
"id": 1
}
The $(...) syntax on Linux or cmd /c on Windows allows the attacker to execute arbitrary commands, with output redirected to a file for later retrieval or to establish a reverse shell.
Step 4 — Execution and Command-and-Control:
The daemon's vulnerable code path concatenates the message string into a system command (e.g., logger "$message" becomes logger "Backup job completed for host victim$(cmd /c whoami > C:\temp\proof.txt)"). The OS command interpreter executes the injected command. For persistence and remote control, the attacker typically downloads and executes a payload from a C2 server using wget/curl (Linux) or certutil/powershell (Windows). A reverse shell or Meterpreter session is established back to the attacker's infrastructure.
Step 5 — Post-Exploitation and Lateral Movement:
With SYSTEM/root privileges, the attacker extracts credentials from the backup server's configuration files — these often contain stored credentials for all protected systems (databases, application servers, domain controllers). Using these stolen credentials and the compromised backup server as a pivot point, the attacker moves laterally across the enterprise network. The backup solution's access to storage targets (tape libraries, cloud storage) means the attacker can also encrypt or exfiltrate backup data, which is a high-value target for ransomware campaigns seeking to destroy recovery options.
Impact Assessment
CVSS Context: The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) indicates: Network attack vector, Low attack complexity, Low privileges required (though the bypass reduces this effectively to none), No user interaction, Unchanged scope, and High Confidentiality, Integrity, and Availability impact. The score of 8.8 is reduced from a perfect 10.0 solely because of the low-privilege authentication requirement, which the bypass neutralizes.
Business Impact: Quest NetVault Backup is deployed in enterprises to protect critical workloads — databases, ERP systems, file servers, and virtual machines. Compromise of the backup server represents a worst-case-scenario for incident response because:
- Total Loss of Backup Integrity: An attacker with SYSTEM access can alter, encrypt, or delete backup history, removing the primary recovery mechanism in a ransomware event.
- Credential Harvesting at Scale: NetVault stores credentials for every protected system to enable automated backups. Extraction of these credentials compromises the entire IT estate.
- Ransomware Catalyst: Attackers frequently target backup systems first to ensure victims cannot restore. CVE-2026-9787 provides exactly that capability.
Affected Systems: All supported versions of Quest NetVault Backup are believed to be affected until a vendor patch is released. The daemon runs on both Windows and Linux platforms, and both are equally exposed.
Blast Radius: Full domain compromise is realistic. The backup server often has network routes to all server segments, and its stored credentials often include Domain Administrator accounts for backup of domain controllers.
Detection Guidance
Sigma Rule
title: Quest NetVault Backup NVBULogDaemon Command Injection Attempt
id: 4f3a9c2e-8b71-4d15-9e6a-7c1d2e5f4a21
status: experimental
description: Detects attempts to exploit CVE-2026-9787 command injection in NVBULogDaemon JSON-RPC processing
references:
- https://www.zerodayinitiative.com/advisories/ZDI-CAN-27625
author: Valtersit Threat Intelligence
date: 2026/01/15
logsource:
category: process_creation
product: windows
detection:
selection_netvault_root:
ParentImage|endswith:
- '\nxbsrv.exe'
- '\nvbufiled.exe'
- '\nvbulogdaemon.exe'
selection_suspicious_cmd:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wmic.exe'
- '\sh.exe'
CommandLine|contains:
- 'cmd /c'
- 'cmd.exe /c'
- 'powershell -enc'
- '; whoami'
- '| whoami'
- '$(whoami)'
- '$(net user)'
- '& copy '
condition: selection_netvault_root and selection_suspicious_cmd
falsepositives:
- Legitimate backup scripts invoking system utilities
level: high
tags:
- attack.execution
- attack.t1059.003
- cve.2026.9787
YARA Rule
rule CVE_2026_9787_NetVault_Command_Injection {
meta:
author = "Valtersit Threat Intelligence"
description = "Detects command injection payloads targeting Quest NetVault Backup NVBULogDaemon"
date = "2026-01-15"
reference = "ZDI-CAN-27625"
score = 80
strings:
$jsonrpc = "jsonrpc" ascii nocase
$logmethod = "log." ascii nocase
$cmd_linux = /(\$\()|\`/ ascii
$cmd_windows = /(cmd[\.exe]* \/c|powershell[\.exe]* -c)/ ascii nocase
$shell_meta = /(\;|\||\&|\n|\r) (whoami|id|net user|systeminfo|dir)/ ascii nocase
$daemon_ref = "NVBULogDaemon" ascii nocase
condition:
uint16(0) == 0x5B7B and // "{[" typical JSON-RPC start
2 of ($cmd_linux, $cmd_windows, $shell_meta) and
1 of ($jsonrpc, $logmethod) and
$daemon_ref
}
Suricata IDS Rule
alert tcp any any -> any 20031 (msg:"CVE-2026-9787 Quest NetVault NVBULogDaemon Command Injection Attempt"; flow:established,to_server; content:"jsonrpc"; nocase; content:"log."; distance:0; nocase; pcre:"/(\$\(|`|\|\||;|\|\s*(whoami|id|cmd\.exe|powershell|net\s+user|systeminfo))/i"; classtype:attempted-admin; sid:20269787; rev:1; reference:cve,2026-9787; reference:url,www.zerodayinitiative.com/advisories/ZDI-CAN-27625;)
Elastic Detection
process where process.parent.name : ("nxbsrv.exe", "nvbufiled.exe", "nvbULogDaemon.exe") and
(
process.name : ("cmd.exe", "powershell.exe", "wmic.exe", "sh.exe", "bash") or
process.command_line : (
"*cmd /c *",
"*cmd.exe /c *",
"*powershell -enc *",
"*; whoami*",
"*| whoami*",
"*$(whoami)*",
"*$(net user)*"
)
)
Splunk SPL Query
index=windows OR index=linux sourcetype=WinEventLog:Security OR sourcetype=linux:audit
| where ParentProcessName LIKE "%netvault%" OR ParentProcessName LIKE "%nxbsrv%" OR ParentProcessName LIKE "%nvbufiled%"
| search (Image="*cmd.exe" OR Image="*powershell.exe" OR Image="*sh" OR CommandLine="*cmd /c*" OR CommandLine="*; whoami*" OR CommandLine="*$(id)*" OR CommandLine="*| net user*")
| table _time, host, ParentProcessName, ProcessName, CommandLine, User
| sort - _time
Wazuh OSSEC Rule
<group name="netvault,cve-2026-9787,">
<rule id="100297" level="15">
<if_sid>550</if_sid>
<match>NVBULogDaemon|nxbsrv|nvbufiled</match>
<regex>\$\(|`|cmd\.exe /c|powershell -enc</regex>
<description>Potential CVE-2026-9787 NetVault Backup NVBULogDaemon Command Injection (system call from NetVault process)</description>
<group>attack.execution,tactic_execution,</group>
<mitre>
<id>T1059.003</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch Status: There is currently NO vendor patch available for CVE-2026-9787. Patch confidence is 0/4, meaning no public or vendor-confirmed fix exists. Enterprises must assume they are vulnerable and apply compensating controls immediately.
Immediate Mitigations (to be applied now):
- Network Segmentation and Firewall Rules: Restrict network access to NVBULogDaemon ports (default 20031, but verify with
netstat -anon the server). Allow connections only from authorized backup clients and the NetVault management console. Block all external internet access to these ports at the perimeter firewall. - Authentication Hardening: If the product supports integration with enterprise LDAP/AD, enforce strong multi-factor authentication for all NetVault administrative and service access. Audit accounts with access to the backup solution and remove unused or default accounts.
- Monitor for Anomalous System Commands: Deploy EDR or HIDS rules (as provided in the Detection Guidance section) to alert on child processes spawned from NetVault daemon processes that are not part of normal backup operations.
- Network Intrusion Prevention: For installations behind inline IDS/IPS capable of handling JSON traffic, deploy the Suricata rule provided above to block or alert on injection attempts.
Patch/Upgrade Steps (when available):
Monitor the Quest Support Portal (support.quest.com) and the ZDI advisory page for updates. Apply the vendor patch immediately upon release. Follow the vendor's documented upgrade procedure, which typically involves: 1) taking a full configuration backup, 2) stopping all NetVault services, 3) running the patch installer, 4) verifying all services restart, and 5) testing backup and restore operations.
Long-Term Hardening:
- Least Privilege: Run NetVault services under a dedicated service account with minimal required privileges rather than the default SYSTEM/root account where feasible.
- Vulnerability Management: Subscribe to vendor security advisories and third-party CVE feeds. Conduct regular vulnerability scans of backup infrastructure with credentialed scanning.
- Backup Redundancy: Maintain off-site, offline/air-gapped copies of critical backups to ensure recovery capability even if the primary backup server is compromised.
- Zero Trust Architecture: Ensure backup servers are placed in a dedicated management VLAN with strict access control lists. Never expose backup management interfaces to user networks or the internet.
- Credential Rotation: As a precaution, rotate all credentials stored within NetVault Backup (database credentials, server admin passwords) and verify the integrity of existing backup data after recovery from this incident.
References
- ZDI Advisory — ZDI-CAN-27625: https://www.zerodayinitiative.com/advisories/ZDI-CAN-27625
- NVD Entry for CVE-2026-9787: https://nvd.nist.gov/vuln/detail/CVE-2026-9787
- Quest Support Portal (for future patch notifications): https://support.quest.com/
- CISA Known Exploited Vulnerabilities Catalog (for monitoring status): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- MITRE ATT&CK Technique T1210 — Exploitation of Remote Services: https://attack.mitre.org/techniques/T1210/
Threat Actor Activity: As of this report date, no known threat actor campaigns have been publicly attributed to exploitation of CVE-2026-9787. The EPSS score of 0.01403 (69.9th percentile) indicates moderate exploitability potential in the wild, and the existence of an authentication bypass mechanism increases the likelihood of weaponization. Enterprises running Quest NetVault Backup should treat this as an active threat and prioritize monitoring and mitigation despite the absence of confirmed in-the-wild exploitation.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.