GHSA-m3r7-8gw7-qwvc CVE-2024-55889
thorsten/phpmyfaq Unintended File Download Triggered by Embedded Frames
- 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
-
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
-
in the FAQ record, insert a "source code" blob using the "< >" button
-
insert in the following snippet: <p><iframe src="index.php?action=attachment&id=2"></iframe></p> and save FAQ record
-
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
| Package | Vulnerable | Fixed 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
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why 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 |
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