criticalCVSS 9Vulnerability

CVE-2026-62988

## Summary Several Froxlor API command classes return sensitive authentication material in JSON API responses. The affected endpoints retrieve full database rows using `SELECT *`, `SELECT alias.*`, or equivalent full-row queries, then return the results directly through `$this->response(...)` without removing credential-related fields. The exposed fields include password hashes for customers, administrators, and FTP users, as well as TOTP 2FA seed material for administrator and customer accounts. This exposes credential-equivalent data to API clients that should not receive it. Password hashes can be cracked offline and reused for account takeover, while exposed TOTP seeds allow generation of valid 2FA codes for affected accounts. When both a password hash and TOTP seed are exposed for the same account, the vulnerability can defeat both authentication factors if the password hash is cracked or the password is otherwise obtained. ## Details The affected API classes retrieve entire database rows and return them without filtering sensitive fields: ### `lib/Froxlor/Api/Commands/Customers.php` `Customers.get()` and `Customers.listing()` select and return customer rows containing sensitive fields, including: * `password` * `type_2fa` * `data_2fa` When `type_2fa = 2`, the `data_2fa` value represents the Base32-encoded TOTP seed used by the customer's authenticator application. The result is returned through `$this->response($result)` or `$this->response(['list' => $result])` without removing these fields. ### `lib/Froxlor/Api/Commands/Admins.php` `Admins.get()` and `Admins.listing()` return administrator rows containing sensitive fields, including: * `password` * `type_2fa` * `data_2fa` When `type_2fa = 2`, the `data_2fa` value represents the Base32-encoded TOTP seed used by the administrator's authenticator application. These fields are not stripped before returning the API response. ### `lib/Froxlor/Api/Commands/Ftps.php` `Ftps.get()` and `Ftps.listing()

Properties

ghsa_id
GHSA-7788-ghfq-c6mh
severity
critical
summary
Froxlor: Credential and 2FA secret disclosure via Froxlor API endpoints
cvss_score
9
cve_id
CVE-2026-62988
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:L
is_ghsa_only
false
ghsa_published
2026-08-18T20:48:35Z
source_url
https://github.com/advisories/GHSA-7788-ghfq-c6mh
ghsa_updated
2026-08-18T20:48:38Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]composer/froxlor/froxlor

AFFECTS (1)

[Software]composer/froxlor/froxlor

HAS_WEAKNESS (1)

[Weakness]Exposure of Sensitive Information to an Unauthorized Actor

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-62988 (CVSS 9) — Ninja Signal Threat Intelligence | Ninja Signal