CVE-2025-69200

7.5 HIGH

📋 TL;DR

An unauthenticated remote attacker can trigger generation and download of configuration backup ZIP files in vulnerable phpMyFAQ installations. This exposes sensitive database credentials and configuration files, potentially leading to full system compromise. All phpMyFAQ installations prior to version 4.0.16 are affected.

💻 Affected Systems

Products:
  • phpMyFAQ
Versions: All versions prior to 4.0.16
Operating Systems: All operating systems running phpMyFAQ
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable; no special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full database compromise leading to data theft, privilege escalation, and complete system takeover via exposed credentials.

🟠

Likely Case

Database credential theft enabling unauthorized database access and potential data exfiltration.

🟢

If Mitigated

Limited exposure if proper network segmentation and access controls prevent external access to vulnerable endpoints.

🌐 Internet-Facing: HIGH - Unauthenticated remote exploitation allows attackers to directly access sensitive configuration files from the internet.
🏢 Internal Only: MEDIUM - Internal attackers or compromised internal systems could still exploit this vulnerability to gain database access.

🎯 Exploit Status

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

Simple HTTP POST request to trigger backup generation followed by file download; trivial to automate.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.0.16

Vendor Advisory: https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-9cg9-4h4f-j6fg

Restart Required: No

Instructions:

1. Backup your current phpMyFAQ installation and database. 2. Download phpMyFAQ version 4.0.16 or later from the official repository. 3. Replace all files with the new version, preserving your configuration files. 4. Verify the installation works correctly.

🔧 Temporary Workarounds

Block API endpoint access

all

Restrict access to the vulnerable /api/setup/backup endpoint using web server configuration or firewall rules.

# Apache: <Location /api/setup/backup> Require all denied </Location>
# Nginx: location /api/setup/backup { deny all; }

Remove or restrict web access to backup directory

linux

Prevent web access to the directory where backup ZIP files are stored.

# Add .htaccess to backup directory: Deny from all

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach the phpMyFAQ web interface
  • Monitor web server logs for access attempts to /api/setup/backup and investigate any hits

🔍 How to Verify

Check if Vulnerable:

Check if phpMyFAQ version is below 4.0.16 by examining the version in the admin interface or checking the source code.

Check Version:

Check phpMyFAQ admin dashboard or examine the footer of phpMyFAQ pages for version information.

Verify Fix Applied:

After patching, attempt to access /api/setup/backup endpoint - it should return an error or be inaccessible. Verify version shows 4.0.16 or higher.

📡 Detection & Monitoring

Log Indicators:

  • HTTP POST requests to /api/setup/backup
  • Access to ZIP files in web-accessible backup directories
  • Unusual database connection attempts from web server IP

Network Indicators:

  • Outbound traffic from web server to database on non-standard ports
  • Large ZIP file downloads from phpMyFAQ backup endpoints

SIEM Query:

source="web_server" AND (uri="/api/setup/backup" OR uri LIKE "%.zip") AND status="200"

🔗 References

📤 Share & Export