Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as reseller admin (customers_see_all, api_allowed)
-
DeliveryOpen API keys listing page index.php?page=apikeys
-
ExploitUnscoped WHERE 1 query returns all key rows
-
ExecutionRead super-admin apikey and secret from detail modal
-
PersistReplay credentials to /api.php via HTTP Basic auth
-
ImpactGain full super-administrator control and customer impersonation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Froxlor administrator account whose customers_see_all flag is set to 1 and api_allowed is 1 - for example a reseller - and does NOT require change_serversettings; the only gate on the page (api_keys.php:40-46) merely redirects when api_allowed==0. When that condition holds, the admin area listing takes the unscoped else branch (api_keys.php:171-177) that appends the literal predicate '1', returning every api_keys row including the super administrator's, and the detail modal renders the full apikey and secret verbatim with no truncation or owner/privilege check. The disclosed secret is directly replayable because ApiCommand::readUserData (lib/Froxlor/Api/ApiCommand.php:158) matches submitted apikey/secret verbatim with no owner check. Limiting factors: the attacker must first obtain a privileged multi-tenant admin account (PR:H), so single-super-admin installations with no lower-privileged admin have no one positioned to abuse the flaw; no user interaction or special platform is otherwise needed, and default behavior of the vulnerable branch is affected (no non-default configuration required beyond the privilege flags). |
| Impact | This is a credible, prioritize-this-week issue rather than a theoretical high-CVSS inflation, but its real-world urgency is tempered by a meaningful privilege prerequisite. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:H/VI:H/VA:H, base 8.6) shows a network-reachable, low-complexity attack with no user interaction, but PR:H confirms the attacker must already hold a privileged Froxlor admin account - specifically one with customers_see_all=1 and api_allowed=1 (e.g., a reseller). The genuine severity comes from the escalation: a limited reseller admin reads the super administrator's plaintext apikey and secret and replays them for full super-admin takeover, so the confidentiality/integrity/availability impacts are real and directly demonstrated by the advisory's end-to-end proof. Signals are largely consistent: vuln.today assigns a 'this_week' decision label and VulnCheck is the reporter, aligning with a serious-but-not-emergency posture. No CISA KEV listing and no EPSS score are present in the input, so there is no evidence of active, widespread exploitation - the risk is driven by exploit tractability and a published PoC, not by observed in-the-wild use. Net: elevated priority for any multi-admin/reseller Froxlor deployment, lower for single-super-admin installs where no lower-privileged admin exists to abuse the flaw. |
| Exploit ScenarioDerived | A reseller administrator (or any admin granted customers_see_all and api_allowed but not change_serversettings) logs into the Froxlor panel, opens index.php?page=apikeys, and the listing runs an unscoped 'WHERE 1' query that returns every account's API key row. The attacker opens the detail modal for the super administrator's key, reads the full plaintext apikey and secret from the rendered HTML, and replays them to /api.php via HTTP Basic auth to gain full super-administrator control and impersonate every customer. The advisory includes a PoC that reproduces the exact production query strings and the API authentication match, demonstrating the leak and the replay end to end. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Froxlor 2.3.8 through 2.3.14 renders every stored API key and secret - including the super administrator's - to any authenticated administrator whose customers_see_all flag is set and whose account has API access enabled, because the api_keys.php listing falls into an unscoped WHERE 1 branch and the per-row detail modal prints the credentials verbatim. The API layer compares submitted key and secret verbatim with no owner check, so a reseller-level admin can replay the super administrator's credentials against /api.php to gain full super administrator control and impersonate every customer, a capability their own role does not provide. Exploitation requires a pre-existing privileged multi-tenant admin account (CVSS PR:H, authenticated), a proof-of-concept reproduction is included in the upstream advisory, and no active exploitation has been confirmed (not in CISA KEV).
RemediationAI
Vendor-released patch: upgrade to Froxlor 2.3.15 or later, which closes the unscoped customers_see_all branch in api_keys.php; the fix is identified in the Composer package metadata as froxlor/froxlor 2.3.15 and detailed in the upstream advisory at https://github.com/froxlor/froxlor/security/advisories/GHSA-5fm2-8wxf-xc5v. Because the disclosed apikey and secret are stored in plaintext and are compared verbatim by ApiCommand::readUserData, upgrading does not undo prior exposure: rotate or delete every API key and secret after patching, especially the super administrator's, since a key disclosed before the update remains replayable against /api.php. Where upgrading cannot be done immediately, the evidence shows the page is gated only by the api_allowed flag (api_keys.php:40-46 redirects when api_allowed == 0) and the vulnerable branch is selected only when customers_see_all is non-zero, so clearing api_allowed or customers_see_all on all non-super-administrator accounts prevents reaching the unscoped listing - at the cost of removing API access or cross-customer visibility for those reseller-style admins until the patch is applied. The upstream advisory notes the code path was still present at 2.3.14 and that no security fix commit previously touched api_keys.php, so applying the 2.3.15 release is the only complete remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Froxlor is a PHP-based multi-tenant server management panel distributed as the Composer package froxlor/froxlor; the flaw is tagged PHP / Information Disclosure and maps to CWE-200 (exposure of sensitive information), with the upstream advisory additionally classifying it as CWE-863 (incorrect authorization). The listing code in api_keys.php builds its owner predicate from three mutually exclusive branches: two are correctly scoped (ak.adminid = :adminid for an admin limited to their own customers, ak.customerid = :cid for the customer area), while the third - taken whenever the request is in the admin area and customers_see_all is not '0' - appends the literal constant 1, so no owner predicate constrains the result set and SELECT ak.* returns every api_keys row. The customers_see_all flag is intended only to widen visibility of customers an administrator manages, not to expose other administrators' or the super administrator's credentials, so the confidentiality boundary between administrators and tenants is violated; the detail modal callback reads the already-fetched row directly (no re-query, no truncation, no authorization check) and the api_key formfield embeds the raw apikey and secret in a readonly text field in the server-rendered HTML. The escalation is completed on the server side because ApiCommand::readUserData authenticates by matching the submitted apikey and secret verbatim against the stored row with no owner or privilege check. The vulnerable branch is identical in every inspected tag (2.3.8, 2.3.10, 2.3.13, 2.3.14); the lower boundary is recorded conservatively at the earliest inspectable tag because earlier 2.x tags were not available for review, so a wider pre-2.3.8 exposure is plausible but unverified.
Know when Froxlor 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable panel page, low complexity, no UI; PR:H because a privileged reseller-type admin account (customers_see_all) is required; replayed super-admin keys yield full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Froxlor from 2.3.8 before 2.3.15 contains an information disclosure vulnerability that allows administrators with customers_see_all to view every account's API key and secret through an unscoped WHERE 1 query in api_keys.php. Attackers can read the super administrator's apikey and secret from the detail modal and replay them to the API to gain super administrator control.
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), with the underlying defect being an authorization failure (CWE-863 as tagged in the advisory).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Froxlor versions 2.3.8 through 2.3.14 can expose super administrator API credentials to lower-privileged reseller administrators, allowing them to escalate to full platform control and impersonate every hosted customer. This undermines the tenant isolation model that multi-tenant hosting businesses rely on, and any provider running an affected release with reseller accounts should treat customer data confidentiality and platform integrity as at risk.
No vendor-released patch identified at time of analysis. Interim mitigations: revoke or disable API access for reseller-level administrators, clear the customers_see_all flag on non-super-admin accounts, rotate all API keys and secrets, and monitor /api.php for unauthorized key use.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Command Injection in GitHub repository froxlor/froxlor prior to 2.0.8. Rated high severity (CVSS 8.8), this vulnerabilit
Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20. Rated cr
Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13. Rated critical severity
Froxlor through 0.10.29.1 allows SQL injection in Database/Manager/DbManagerMySQL.php via a custom DB name. Rated critic
Command injection in Froxlor server admin before 2.3.4 due to typo (== instead of =) disabling input validation entirely
Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0. Rated high severity (CV
Unrestricted Upload of File with Dangerous Type in GitHub repository froxlor/froxlor prior to 2.0.14. Rated high severit
Cross-Site Request Forgery (CSRF) in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8),
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8), this vulnerability
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.10. Rated high severity (CVSS 8.8), this vulnerability
An issue was discovered in Froxlor before 0.10.14. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi
Froxlor is open source server administration software. Rated high severity (CVSS 7.5), this vulnerability is remotely ex
EUVD-2026-115858
GHSA-2qgh-vqj2-gcjx
NVD
CVE.org
Exploit-DB