Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Froxlor customer
-
DeliveryReplace stats directory in document root with symlink
-
ExploitRoot traffic cron runs recursive chown
-
ExecutionOwnership of root-owned tree transferred to attacker
-
ImpactEscalate to full root on shared host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
|
| Exploitation Conditions | Requires a valid, authenticated Froxlor customer account (PR:L) that has filesystem write access to its own document root - the attacker must be able to delete the stats subdirectory and create a symlink in its place (standard for FTP/SSH-enabled hosting customers). Statistics generation (goaccess, webalizer, or awstats) must be enabled so the affected traffic-cron code path runs, and the root-scheduled traffic cron must execute for the recursive chown to follow the symlink. Limiting factors: exploitation is gated by possession of a customer account, by the stats feature being active, and by the timing of the scheduled cron run; it cannot be performed by an unauthenticated remote actor and does not apply to single-tenant or stats-disabled deployments. Affected versions are Froxlor before 2.3.15. |
| Impact | This is a genuine high-priority local privilege escalation to root on a shared-hosting server, not merely a high-CVSS paper risk. The CVSS 4.0 vector (9.4) reflects full confidentiality/integrity/availability impact on both the vulnerable system and subsequent systems (SC:H/SI:H/SA:H), which is appropriate because a Froxlor customer gaining root compromises every other tenant on the host. PR:L correctly captures that a valid customer account is required, and AC:L/UI:N indicate reliable exploitation once that account exists. One signal is worth scrutinizing: the provided vector lists AV:N, but exploitation requires the attacker to place a filesystem symlink inside their own document root (via FTP/SSH/shell access customers normally have) and then wait for the root-run traffic cron - this is fundamentally a local filesystem race/substitution rather than a purely network-delivered request, so AV:L is the more honest characterization (see assessed vector). No EPSS score was supplied, so widespread-exploitation probability cannot be quantified; this flaw is not on CISA KEV and no public exploit was provided in the input. The combination (authenticated-but-low-privilege prerequisite, root outcome, confirmed vendor patch) means operators running multi-tenant Froxlor should patch promptly, while the limited real-world footprint of the product tempers the aggregate risk. |
| Exploit ScenarioDerived | A legitimate paying customer on a shared Froxlor host replaces the 'goaccess' (or webalizer/awstats) statistics directory inside their own document root with a symlink pointing at a root-owned directory such as /etc or /root. When the scheduled root-run traffic cron next executes, Statistics::makeChownWithNewStats performs a recursive chown that follows the symlink and hands ownership of the targeted root-owned tree to the attacker, who then edits a root-writable file to escalate to full root on the host. No public exploit code was provided in the input, though VulnCheck published a detailed advisory and the vendor patch reveals the exact mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Froxlor before 2.3.15 allows an authenticated hosting customer with write access to their document root to escalate to root by replacing the statistics directory with a symlink, so the root-run traffic cron's recursive chown follows the link and changes ownership of arbitrary host directories. Exploitation requires a valid customer account, enabled goaccess/webalizer/awstats statistics, and execution of the scheduled traffic cron; no public exploit identified at time of analysis. Vendor-released patch: 2.3.15.
RemediationAI
Upgrade to Froxlor 2.3.15 or later, which contains upstream commit 0805a7e16a223d528b51d8cacfaff54217b9d8f8 re-validating customer-controlled paths against the fixed homedir before root-run mkdir/chown operations; see the vendor advisory https://github.com/froxlor/froxlor/security/advisories/GHSA-vwjv-x8ff-4cvv and release https://github.com/froxlor/froxlor/releases/tag/2.3.15. If upgrading immediately is not possible, disable statistics generation (goaccess, webalizer, awstats) for customer domains in Froxlor so the vulnerable traffic-cron code path does not run; the trade-off is loss of traffic accounting and any quota or billing data derived from it. Alternatively, temporarily pause the root traffic cron until patched, accepting stale traffic statistics, and audit customer document roots for symlinks at goaccess, webalizer, awstats, and .ftpquota paths plus unexpected ownership changes on host directories. Do not rely on removing document-root write access alone, because that breaks normal FTP/SSH hosting workflows.
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 shared-hosting control panel whose traffic cron runs as root and invokes goaccess, webalizer, and awstats against per-domain output directories under customer document roots. The root cause is CWE-59 improper link resolution: customer-writable paths are validated when configured but later reused in a root context without re-checking containment. A customer can delete a goaccess, webalizer, awstats, or .ftpquota path and replace it with a symlink; subsequent makeCorrectDir/makeCorrectFile and chown -R operations can follow the link outside the homedir. The upstream fix adds a fixed_homedir argument to makeCorrectDir/makeCorrectFile to re-validate containment and log unsafe paths, and the same commit also hardens FCGI configuration and FTP quota paths. Our assessment uses CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H (local, authenticated, scope-changed). CPE cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:* identifies affected pre-2.3.15 releases.
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:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Exploitation needs a low-privilege customer account (PR:L) placing a local filesystem symlink (AV:L), reliably triggered by the root cron (AC:L), with root compromise crossing the tenant boundary (S:C) for full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Froxlor before 2.3.15 contains a symlink following vulnerability in Statistics::makeChownWithNewStats that allows authenticated customers to take ownership of arbitrary host directories by abusing the root-run traffic cron. Attackers can replace the goaccess statistics directory in their document root with a symlink, causing chown -R to hand root-owned trees to them and enabling root escalation.
Technical POC Analysis
CWE-59: improper link resolution.
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 before 2.3.15 create a critical tenant-to-root privilege escalation risk for hosting providers, where a customer with document-root write access can cause root-run maintenance processes to change ownership of arbitrary host directories when statistics features are enabled. This can lead to full server compromise, cross-tenant data exposure, and service disruption, making unpatched multi-tenant deployments a leadership-level priority. No public exploit identified at time of analysis; Vendor-released patch: 2.3.15.
Apply vendor patch.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
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-105094
GHSA-j3hm-8rm8-m243
NVD
CVE.org
EPSS
VulDB
Exploit-DB