Skip to content

GHSA-m3r7-8gw7-qwvc CVE-2024-55889

thorsten/phpmyfaq Unintended File Download Triggered by Embedded Frames

High Packagist
Severity
4.9 / 10
High · CVSS 3.1
Exploit chance (EPSS)
2.19%
Chance of exploitation in the next 30 days. Higher than 82.46% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-451 User Interface (UI) Misrepresentation of Critical Information
Fix
3.2.10
Upgrade thorsten/phpmyfaq to this version or later

Description

Summary

A vulnerability exists in the FAQ Record component where a privileged attacker can trigger a file download on a victim's machine upon page visit by embedding it in an <iframe> element without user interaction or explicit consent.

Details

In http://localhost/admin/index.php?action=editentry&id=20&lang=en, where a FAQ record is either created or edited, an attacker can insert an iframe, as "source code", pointing to a prior "malicious" attachment that the attacker has uploaded via FAQ "new attachment" upload, such that any page visits to this FAQ will trigger an automated download (from the edit screen, download is automated; from the faq page view as a normal user, depending on the browser, a pop up confirmation may be presented before the actual download. Firebox browser, for instance, does not require any interactions). image

PoC

  1. create a new FAQ record and upload a "malicious" file - in my case, I uploaded an eicar file. take note of the uri, ie <p><iframe "index.php?action=attachment&id=2" image

  2. in the FAQ record, insert a "source code" blob using the "< >" button

  3. insert in the following snippet: <p><iframe src="index.php?action=attachment&id=2"></iframe></p> and save FAQ record

  4. once the edit page reloads, the malicious code will be downloaded onto the local machine without user interaction: image

(uploaded a POC for easy demonstration: https://roy.demo.phpmyfaq.de/admin/index.php?action=editentry&id=20&lang=en although a fresh installation overwrites this demo instance every 24 hours)

(as a logged in normal user, visit: https://roy.demo.phpmyfaq.de/content/1/20/en/20.html)

Impact

Malicious code or binaries could be dropped on visitors' machines when visiting the FAQ platform. Take a worm or ransomware for instance.

Affected versions

Packagist

PackageVulnerableFixed in
thorsten/phpmyfaq
< 3.2.10
3.2.10

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

thorsten/phpmyfaq Packagist → 3.2.10

composer
composer require thorsten/phpmyfaq:^3.2.10

Severity breakdown

CVSS 3.1 4.9

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Weakness

CWE-451: User Interface (UI) Misrepresentation of Critical Information

The user interface (UI) does not properly represent critical information to the user, allowing the information - or its source - to be obscured or spoofed. This is often a component in phishing attacks.

How to prevent it
  • Implementation: Perform data validation (e.g. syntax, length, etc.) before interpreting the data.
  • Architecture and Design: Create a strategy for presenting information, and plan for how to display unusual characters.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-rw77-vq4g-x3hp
phpMyFAQ has SQL Injection in `StopWords::add()` — Unescaped Stop Word Insertion
High Also affects thorsten/phpmyfaq
GHSA-8gpw-xvpf-hvx5
phpMyFAQ's two-factor authentication login bypasses the password factor
High Also affects thorsten/phpmyfaq
GHSA-pgwp-vc7q-cvj3
phpMyFAQ has Stored XSS in Admin FAQ Editor via HTML Entity Bypass in Frontend FAQ Submission
High Also affects thorsten/phpmyfaq
GHSA-6pvm-2vjj-rx4w
phpMyFAQ: SQL LIKE Wildcard Injection in Chat User Search Allows Authenticated User Enumeration
Medium Also affects thorsten/phpmyfaq
GHSA-mf8r-wm2w-f8c5
phpMyFAQ public FAQ APIs expose inactive FAQ content
Medium Also affects thorsten/phpmyfaq
GHSA-88g4-74f3-63x9
phpMyFAQ has Potential Authenticated Path Traversal in PDF Export
Medium Also affects thorsten/phpmyfaq
GHSA-pg62-f8g4-4wqh
phpMyFAQ privilege escalation: GroupController::updatePermissions lets a GROUP_EDIT admin grant rights they do not hold
High Also affects thorsten/phpmyfaq
GHSA-985r-q3qp-299h
phpMyFAQ has an incomplete fix for GHSA-xvp4-phqj-cjr3 — editUser() and updateUserRights() lack authorization guards
High Also affects thorsten/phpmyfaq
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor