CVE-2025-12763

6.8 MEDIUM

📋 TL;DR

pgAdmin 4 on Windows systems contains a command injection vulnerability that allows attackers to execute arbitrary system commands through specially crafted file paths during backup/restore operations. This affects all pgAdmin 4 versions up to 9.9 running on Windows. Attackers with access to the backup/restore functionality can achieve remote code execution.

💻 Affected Systems

Products:
  • pgAdmin 4
Versions: All versions up to and including 9.9
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Windows installations due to shell=True usage in subprocess calls. Linux/macOS systems are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with administrative privileges, data exfiltration, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Database compromise, credential theft, and limited file system access depending on pgAdmin service account privileges.

🟢

If Mitigated

Limited impact if pgAdmin runs with minimal privileges and network access is restricted, though command execution remains possible.

🌐 Internet-Facing: HIGH if pgAdmin is exposed to the internet, as attackers can exploit without authentication to backup/restore endpoints.
🏢 Internal Only: MEDIUM for internal networks, requiring attacker access to pgAdmin interface but posing significant risk if compromised.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires access to backup/restore functionality, which may be available without authentication depending on pgAdmin configuration. The GitHub issue contains technical details that facilitate exploit development.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 10.0 or later

Vendor Advisory: https://github.com/pgadmin-org/pgadmin4/issues/9323

Restart Required: Yes

Instructions:

1. Upgrade pgAdmin 4 to version 10.0 or higher. 2. Stop pgAdmin service. 3. Install new version. 4. Restart pgAdmin service. 5. Verify version is 10.0+.

🔧 Temporary Workarounds

Disable Backup/Restore Functionality

all

Remove or restrict access to backup and restore features in pgAdmin interface

Configure pgAdmin to disable backup/restore options via configuration file or access controls

Network Segmentation

all

Restrict network access to pgAdmin interface

Use firewall rules to limit pgAdmin access to trusted IP addresses only

🧯 If You Can't Patch

  • Run pgAdmin with minimal privileges using a low-privilege service account
  • Implement strict input validation for file path parameters in custom configurations

🔍 How to Verify

Check if Vulnerable:

Check pgAdmin version via Help → About in UI or command line: pgadmin4 --version. If version is 9.9 or lower and OS is Windows, system is vulnerable.

Check Version:

pgadmin4 --version

Verify Fix Applied:

Confirm pgAdmin version is 10.0 or higher and test backup/restore functionality with safe file paths.

📡 Detection & Monitoring

Log Indicators:

  • Unusual subprocess executions from pgAdmin
  • Suspicious file paths in backup/restore logs
  • Command strings with shell metacharacters in pgAdmin logs

Network Indicators:

  • Unexpected outbound connections from pgAdmin host
  • Traffic to backup/restore endpoints with unusual parameters

SIEM Query:

source="pgadmin.log" AND ("subprocess" OR "backup" OR "restore") AND ("cmd.exe" OR "powershell" OR suspicious characters like | & ; $)

🔗 References

📤 Share & Export