Skip to main content

phpMyFAQ CVE-2025-69200

HIGH
Exposure of Sensitive Information Through Data Queries (CWE-202)
2025-12-29 security-advisories@github.com
7.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify internet-exposed phpMyFAQ < 4.0.16
  2. Delivery
    POST /api/setup/backup with non-empty body
  3. Exploit
    Server generates config backup ZIP
  4. Execution
    Download ZIP from content/core/config/ URL
  5. Persist
    Extract database.php credentials
  6. Impact
    Pivot to database for follow-on compromise

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V14 - Data Protection Sensitive data in outbound message
Exploitation Conditions

Requires that the phpMyFAQ instance be running a vulnerable version (< 4.0.16, or the 4.1.0-alpha-4.1.0-beta.2 pre-release branch) with the default .htaccess rewrite rules active, which expose /api/setup/(check|backup|update-database) to api/index.php. No authentication, API token, or user interaction is required; the attacker only needs to send a POST request with any non-empty body (interpreted as an 'installed version' string). The main limiting factors are reliance on the default rewrite configuration being present and the content/core/config/ directory being web-accessible - environments that have hardened or removed the setup rewrite rules, or restricted access to the config directory, would not be exploitable.

Impact

This is a genuine high-priority issue rather than an inflated high-CVSS score. All exploitability signals align toward easy abuse: the CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) indicates a network-reachable, low-complexity, unauthenticated attack with no user interaction, and this is corroborated by the GHSA advisory, which confirms the /api/setup/backup endpoint is exposed via default .htaccess rewrite rules and performs no hasValidToken(), userIsAuthenticated(), or permission check. A working PoC is publicly available in the GitHub Security Advisory, lowering the barrier to mass exploitation. The impact profile is narrow but severe: C:H with I:N/A:N reflects pure confidentiality loss (disclosure of database.php credentials), not code execution - though the advisory correctly notes this enables follow-on compromise once DB credentials are obtained. Not in CISA KEV and no EPSS score was provided in the input, so widespread active exploitation is not confirmed; the combination of a public PoC, trivial exploitation, and default-configuration reachability nonetheless makes near-term opportunistic scanning likely. Verify EPSS independently, as it was absent from the provided data.

Exploit ScenarioDerived

An attacker scanning the internet for phpMyFAQ instances sends an unauthenticated POST to /api/setup/backup with any non-empty body, causing the server to generate a configuration backup ZIP and return its direct URL. The attacker then downloads the ZIP from the web-accessible content/core/config/ path and extracts database.php to recover database host, username, and password. A public PoC (curl-based) exists in the GHSA advisory, making this trivially reproducible.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 2.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Unauthenticated attackers can force phpMyFAQ installations running versions prior to 4.0.16 to generate a full configuration backup ZIP inside a web-accessible directory and then simply download it, exposing database credentials and other configuration secrets. The POST /api/setup/backup endpoint performs no authentication, authorization, or API token verification, and the resulting archive is served from content/core/config/ under a date-stamped filename, so no user interaction or privileges are needed (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N). Publicly available exploit code exists - the vendor's GitHub advisory publishes a three-step curl proof of concept - and the information disclosed (database.php credentials, integration configuration) is well suited to follow-on compromise, making this a genuine high-priority issue rather than an inflated high-CVSS score.

RemediationAI

Vendor-released patch: upgrade to phpMyFAQ 4.0.16 (or a later 4.1.x release), which is the fixed version per the advisory and corresponds to commit b0e99ee3695152115841cb546d8dce64ceb8c29a; see https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-9cg9-4h4f-j6fg for details. Note that the 4.1.0 pre-release range (4.1.0-alpha through 4.1.0-beta.2) is listed with no fixed version, so operators on that branch should move to 4.0.16 stable or a newer patched 4.1.x build. If immediate upgrading is not possible, apply specific compensating controls: block or remove the setup rewrite rule '/api/setup/(check|backup|update-database)' in .htaccess or the web server configuration (trade-off: the web-based setup and update wizard stops working, so upgrades must be performed manually/CLI-side), and deny direct HTTP access to the content/core/config/ directory so any generated archive cannot be retrieved (trade-off: verify nothing else legitimately served from that path is broken). Because exploitation only requires a single unauthenticated POST followed by a GET, treat any deployment that was exposed as potentially already compromised: delete any leftover phpmyfaq-config-backup.YYYY-MM-DD.zip files from content/core/config/, rotate the database credentials in database.php, and rotate any other integration secrets captured in the backup. These controls reduce but do not eliminate risk, since the underlying endpoint remains callable until the code is patched.

Affected Packages

composer thorsten/phpmyfaq fix: 4.0.16

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in composer

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

phpMyFAQ is a PHP-based FAQ/knowledge-base web application distributed as the Composer package thorsten/phpmyfaq. The flaw sits in the setup API surface: the default Apache rewrite rule in phpmyfaq/.htaccess ('RewriteRule ^api/setup/(check|backup|update-database) api/index.php [L,QSA]') routes the setup endpoints into the application front controller, where SetupController::backup() handles the request without calling hasValidToken(), userIsAuthenticated(), or any permission check. The handler passes the attacker-supplied body - lightly interpreted as an 'installed version' string - into Update::createConfigBackup(), which writes a ZIP archive into the configuration directory and returns a public URL under content/core/config/. The assigned CWE-202 (Exposure of Sensitive Information Through Data Queries) describes the data-exposure outcome, while the advisory frames the practical root cause as missing authentication/authorization for a sensitive function plus sensitive information exposure; the two views converge on an unauthenticated request that produces and discloses a secret-bearing artifact. The vulnerability's reach therefore depends on PHP/Apache deployment specifics: the default rewrite rules must be active and the content/core/config/ directory must be reachable over HTTP. The patch commit b0e99ee3695152115841cb546d8dce64ceb8c29a removes the client-side logic that consumed the returned backupFile URL (assets/src/configuration/update.js) and the download link in the setup update template (assets/templates/setup/update/step2.twig), eliminating the exposed backup-generation/download flow.

Know when Phpmyfaq gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Unauthenticated network endpoint reachable by default (AV:N/AC:L/PR:N/UI:N); discloses DB credentials giving high confidentiality impact, with no direct integrity or availability effect (C:H/I:N/A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

phpMyFAQ is an open source FAQ web application. In versions prior to 4.0.16, an unauthenticated remote attacker can trigger generation of a configuration backup ZIP via POST /api/setup/backup and then download the generated ZIP from a web-accessible location. The ZIP contains sensitive configuration files (e.g., database.php with database credentials), leading to high-impact information disclosure and potential follow-on compromise. Version 4.0.16 fixes the issue.

Executive ViewAI

Why It Matters

phpMyFAQ installations prior to version 4.0.16 are susceptible to unauthenticated attackers downloading full configuration backups that contain database credentials and integration secrets. This can lead to unauthorized access to sensitive data, further compromise of connected systems, and potential regulatory non-compliance. Leadership should prioritize immediate patching because publicly available exploit code exists and the vulnerability is easy to exploit, resulting in significant data breach impact.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
2.1%
Top 19% exploitable
Prevalence
Low
niche open-source FAQ application, limited enterprise deployment footprint
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 2.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

60
Low Medium High Critical
KEV: 0
EPSS: +2
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*
cpe:2.3:a:phpmyfaq:phpmyfaq:4.1.0:rc:*:*:*:*:*:*
CVE-2025-59943 CRITICAL POC
9.8 Oct 03

Duplicate-email registration handling in phpMyFAQ 4.0.7 through 4.0.13 (and 4.0-nightly-2025-10-03 and earlier) lets una

CVE-2023-5865 CRITICAL POC
9.8 Oct 31

Insufficient Session Expiration in GitHub repository thorsten/phpmyfaq prior to 3.2.2. Rated critical severity (CVSS 9.8

CVE-2023-1886 CRITICAL POC
9.8 Apr 05

Authentication Bypass by Capture-replay in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity

CVE-2023-1753 CRITICAL POC
9.8 Mar 31

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity (CVSS 9.8), t

CVE-2022-3754 CRITICAL POC
9.8 Oct 29

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.8. Rated critical severity (CVSS 9.8), th

CVE-2026-46364 CRITICAL POC
9.3 May 15

Unauthenticated SQL injection in phpMyFAQ before 4.1.2 allows remote attackers to extract credentials, admin tokens, and

CVE-2017-15730 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.ratings.php. Rated high severity (CVS

CVE-2017-15808 HIGH POC
8.8 Oct 23

In phpMyFaq before 2.9.9, there is CSRF in admin/ajax.config.php. Rated high severity (CVSS 8.8), this vulnerability is

CVE-2017-15735 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) for modifying a glossary. Rated high severity (CVSS

CVE-2017-15734 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.main.php. Rated high severity (CVSS 8

CVE-2024-28107 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

CVE-2024-27299 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy