Description (CNA)
Froxlor before 2.3.13 returns the ssl_key_file column — which stores the raw PEM TLS private-key content — verbatim in the JSON responses of the Certificates.get and Certificates.listing API commands, because the results of the underlying domain_ssl_settings queries are passed through ApiCommand::response() without any field stripping or allowlist. A low-privileged authenticated customer API caller can retrieve the private keys of their own domains' certificates, including Let's Encrypt keys that Froxlor generates server-side and stores root-only (0600) and to which the customer otherwise has no filesystem access; reseller and customers_see_all admin accounts can dump the private keys of other principals through the same sink. Disclosed keys enable domain impersonation, passive decryption of captured TLS traffic, and active machine-in-the-middle attacks.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| froxlor / froxlor | affected 0 before 2.3.13; unaffected 2.3.13 |
CWE
CWE-200
References
- https://github.com/froxlor/froxlor/security/advisories/GHSA-6q2v-jjq5-m2c8
- https://www.vulncheck.com/advisories/froxlor-before-2.3.13-private-key-disclosure-via-certificates-api
ADP enrichment
No English description supplied.