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)
AFFECTS (1)
HAS_WEAKNESS (1)
REPORTED_BY (1)
Explore deeper with Ninja Signal's threat intelligence graph