Cyber Security News

Critical pgAdmin Flaw Allows Remote Code Execution

A severe Remote Code Execution (RCE) vulnerability in pgAdmin (CVE-2025-2945), the popular PostgreSQL database management tool, has been patched after researchers discovered attackers could hijack servers through malicious API requests.

The flaw affects pgAdmin versions ≤9.1 and allows authenticated users to execute arbitrary commands on affected systems.

Technical Breakdown

The vulnerability stems from improper use of Python’s eval() function in two endpoints:

  1. /sqleditor/query_tool/download/<int:trans_id>
query_commited = eval(value) if isinstance(value, str) else value  # Vuln code

Attackers could send crafted POST requests containing Python code (e.g., open(‘/tmp/pyozzi-poc’, ‘w’)) to write files or execute commands.

  1. /cloud/deploy
high_availability = 'REGIONAL' if eval(args.high_availability) else 'ZONAL'  # Vuln code

Malicious inputs like reverse shell payloads could grant full server access:

exec('import socket,subprocess,os;s=socket.socket(...)')

Both endpoints processed user input without sanitization, enabling attackers to abuse the eval() function’s ability to execute code.

Attack Scenarios & Impact

Successful exploitation could lead to:

  • Database Manipulation: Theft or destruction of sensitive PostgreSQL data.
  • Lateral Movement: Compromise of internal networks via server access.
  • Credential Theft: Extraction of API keys, passwords, and tokens from configuration files.
  • Persistent Backdoors: Installation of malicious scripts for long-term access.

Notably, the flaw requires authentication, limiting immediate widespread exploitation. However, compromised accounts or phishing attacks could bypass this barrier.

Patch & Remediation

The pgAdmin team resolved the issue in version 9.2 by eliminating eval() usage. For example, in the query_commited parameter patch:

- query_commited = eval(value) if isinstance(value, str) else value 
+ query_commited = value.lower() == 'true'  # Secure boolean parsing 

Users must update to pgAdmin 9.2 immediately. Organizations unable to patch should restrict pgAdmin instance access to trusted networks and audit user privileges.

The bug hunter who discovered the flaw noted:

“Why use eval() here? The logic didn’t need it at all. This was an avoidable risk.”

The pgAdmin security team addressed the report within 24 hours, highlighting the importance of coordinated disclosure.

Find this News Interesting! Follow us on Google NewsLinkedIn, & X to Get Instant Updates!

Divya

Divya is a Senior Journalist at GBhackers covering Cyber Attacks, Threats, Breaches, Vulnerabilities and other happenings in the cyber world.

Recent Posts

BPFDoor Malware Uses Reverse Shell to Expand Control Over Compromised Networks

A new wave of cyber espionage attacks has brought BPFDoor malware into the spotlight as…

13 hours ago

EU’s GDPR Article 7 Poses New Challenges for Businesses To Secure AI-Generated Image Data

As businesses worldwide embrace digital transformation, the European Union’s General Data Protection Regulation (GDPR), enacted…

14 hours ago

Morocco Investigation Major Data Breach Allegedly Claimed by Algerian Hackers

The National Social Security Fund (CNSS) of Morocco has confirmed that initial checks on leaked…

14 hours ago

Smishing Campaign Hits Toll Road Users with $5 Payment Scam

Cybersecurity researchers at Cisco Talos have uncovered a large-scale smishing campaign targeting toll road users…

14 hours ago

IBM Aspera Faspex Flaw Allows Injection of Malicious JavaScript in Web UI

A significant security vulnerability has been identified in IBM Aspera Faspex 5, a popular file…

15 hours ago

Chinese APT Group Targets Ivanti VPN Vulnerabilities to Breach Networks

In a concerning report from cybersecurity firm TeamT5, it has been revealed that a Chinese…

15 hours ago