ZeroHour

CVE-2024-58383

niche

World-Readable FTP Database Config in Froxlor Enables Local-to-Root Escalation

CVSS 4.0
8.4 high
EPSS
Published
()
Modified
AI analysis

Froxlor before 2.2.0 (through 2.2.0-rc3) generates /etc/pure-ftpd/db/mysql.conf with mode 0644 via its XML configuration templates in lib/configfiles/, even though the file contains the Froxlor SQL user's password. On hosts with world-readable parent directories — the default on Debian 12 — any unprivileged local user, including virtual hosting customers without SSH who can upload PHP/CGI scripts, can read the file and recover the Froxlor database credentials. With database access, an attacker can rewrite an administrator's password hash and TOTP seed, log in as a Froxlor administrator, and ultimately escalate to root on the host. Only instances configured to use pure-ftpd are affected. No public proof of concept exists and no exploitation has been observed; the issue is not in the CISA KEV catalog.

What to do: Upgrade to Froxlor 2.2.0 final or later, which no longer writes the pure-ftpd MySQL config as world-readable. As an immediate mitigation, set /etc/pure-ftpd/db/mysql.conf (and its parent directories) to restrictive permissions (e.g., chmod 600, owned by root), then rotate the Froxlor SQL user's password. Afterward, audit the Froxlor database and admin accounts for modified password hashes or TOTP seeds and review web/PHP logs for suspicious reads of the config path by hosted users.

Affected
Froxlor Project Froxlorup to and including 2.2.0-rc3 (all versions before 2.2.0 final); only instances configured to use pure-ftpd as the FTP daemon
Estimated exposure
nichelikely hundreds to low thousands of affected servers (clearly an estimate) — Froxlor is a niche self-hosted hosting control panel (internet-wide scans typically index only a few thousand Froxlor login pages), and only the subset of those deployments configured with pure-ftpd on systems with world-readable parent…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Froxlor before 2.2.0 (affected up to and including 2.2.0-rc3) generates /etc/pure-ftpd/db/mysql.conf with mode 0644 via the XML configuration templates in lib/configfiles/, even though the file contains the Froxlor SQL user's password. On systems where the parent directories are world readable (the default on Debian 12), any unprivileged local user able to execute commands or code on the host — including virtual users without SSH access who can upload PHP/CGI scripts — can read the file and obtain the Froxlor database credentials. Database access can then be leveraged to alter an administrator's password hash and TOTP seed, log in as a Froxlor administrator, and ultimately gain root privileges. Only instances configured to use pure-ftpd are affected.

Weakness
CWE-732
Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.