CVE-2025-22248

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated access to PostgreSQL databases in Bitnami's pgpool Docker image and postgres-ha Kubernetes chart. Attackers can exploit the default 'repmgr' user with trust-level authentication to gain database access. Organizations using these default configurations with external exposure are affected.

💻 Affected Systems

Products:
  • bitnami/pgpool Docker image
  • bitnami/postgres-ha Kubernetes Helm chart
Versions: All versions before fixes
Operating Systems: All platforms running Docker or Kubernetes
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects default configurations where PGPOOL_SR_CHECK_USER is set to 'repmgr' with trust authentication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, modification, or deletion, and potential lateral movement within the cluster.

🟠

Likely Case

Unauthorized database access leading to data exfiltration or manipulation of database contents.

🟢

If Mitigated

Limited impact with proper network segmentation and authentication controls in place.

🌐 Internet-Facing: HIGH - Direct external exposure allows unauthenticated attackers to access databases.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could exploit this for lateral movement.

🎯 Exploit Status

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

Simple authentication bypass using default credentials - no special tools required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check vendor advisory for specific fixed versions

Vendor Advisory: https://github.com/bitnami/charts/security/advisories/GHSA-mx38-x658-5fwj

Restart Required: Yes

Instructions:

1. Update to patched versions of bitnami/pgpool or bitnami/postgres-ha. 2. Change PGPOOL_SR_CHECK_USER authentication from 'trust' to 'md5' or stronger. 3. Restart affected services.

🔧 Temporary Workarounds

Change repmgr authentication method

all

Modify PostgreSQL configuration to require password authentication for repmgr user

ALTER USER repmgr WITH PASSWORD 'strong_password';
Update pg_hba.conf to change 'trust' to 'md5' for repmgr connections

Network isolation

all

Restrict network access to pgpool services

Use firewall rules to limit access to trusted IPs only
kubectl apply network policies to restrict pod communication

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate pgpool from untrusted networks
  • Change repmgr user password and update authentication method from trust to md5 in PostgreSQL configuration

🔍 How to Verify

Check if Vulnerable:

Check if PGPOOL_SR_CHECK_USER is set to 'repmgr' and authentication method is 'trust' in pg_hba.conf

Check Version:

docker images | grep bitnami/pgpool OR helm list for postgres-ha chart

Verify Fix Applied:

Attempt to connect to PostgreSQL using 'psql -U repmgr -h <hostname>' without password - should fail

📡 Detection & Monitoring

Log Indicators:

  • Failed authentication attempts for repmgr user
  • Successful connections from unexpected IPs to repmgr user

Network Indicators:

  • Unusual database query patterns from repmgr user
  • External connections to pgpool service on PostgreSQL port

SIEM Query:

source="postgresql" AND user="repmgr" AND (event_type="authentication_success" OR event_type="connection")

🔗 References

📤 Share & Export