/

CVE-2026-100708

Severity:

HIGH RISK

(7.1)

Sensitive Data Exposure (CWE-200) in Froxlor Certificate API

CVE-2026-100708

Deferred

Vulnerability type

Category:

Sensitive Data Exposure

CWE:

CWE-200

Impact:

Exposure of TLS Private Keys

Severity:

HIGH RISK

(7.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Froxlor exposes raw TLS private-key material in JSON responses from certificate API commands without filtering sensitive database fields. An authenticated low-privileged customer may retrieve keys for their own domains, while reseller and broad-visibility administrative accounts may retrieve keys belonging to other principals.

Affected context

The issue occurs in Froxlor deployments where certificate records are returned through the Certificates.get or Certificates.listing API commands. The affected responses may include the ssl_key_file database field containing PEM-encoded private-key content, particularly when API result objects are passed through without an explicit response-field allowlist. Exposure can affect customer-owned certificates and, for accounts with broader visibility, certificates belonging to other users.

Exploit preconditions

  • Attack surface: Authenticated Froxlor certificate-management API
  • Required access: A valid customer account for the caller's own domains; reseller or customers_see_all administrative access may broaden the accessible records
  • Trigger point: Invocation of the Certificates.get or Certificates.listing API commands
  • Why exploitation is possible: API responses serialize certificate records without removing or restricting the raw private-key field

Why this happens

The underlying bug is excessive data exposure caused by returning database query results directly through an API response sink. Because no field stripping or explicit allowlist prevents ssl_key_file from being serialized, a field intended for protected server-side use becomes available to API callers. This maps to CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, because private cryptographic material is disclosed beyond its intended trust boundary.

Potential impact

  • Attackers may impersonate affected domains through fraudulent TLS endpoints
  • Exposed keys could support active man-in-the-middle attacks
  • Captured TLS traffic may be decryptable in configurations without effective forward secrecy
  • Customers or administrators may lose control of certificate trust and domain identity
  • Broader account compromise could result if exposed keys are reused or associated with other services

General mitigation guidance

Mitigation typically focuses on enforcing a strict separation between internal certificate data and API-visible representations.

Common defensive patterns include:

  • Returning only explicitly approved certificate metadata fields
  • Keeping private-key material out of general-purpose ORM or API serialization paths
  • Applying endpoint-specific response schemas and deny-by-default field filtering
  • Restricting certificate-management permissions according to least privilege
  • Rotating potentially exposed keys and certificates through established certificate-management processes
  • Avoiding storage or logging patterns that replicate raw private keys unnecessarily

These controls reduce disclosure risk even when an authenticated caller can access certificate-related endpoints.

How teams detect issues like this

Organizations commonly detect this class of issue through:

  • API schema reviews that identify private keys, tokens, passwords, and other secrets in response models
  • Static analysis and code review checks for direct serialization of database query results
  • Tests asserting that sensitive fields such as ssl_key_file never appear in customer-facing responses
  • Runtime monitoring for certificate API requests and unusual enumeration of certificate records
  • Policy enforcement requiring explicit response allowlists for security-sensitive endpoints

Automated API security testing and secret-scanning tools can help identify accidental disclosure during development and testing.

Sources

SourceLink
github.comgithub.com/froxlor/froxlor/security/advisories/GHSA-6q2v-jjq5-m2c8
vulncheck.comvulncheck.com/advisories/froxlor-before-2.3.13-private-key-disclosure-via-certificates-api

Frequently asked

questions

An authenticated customer may access private keys associated with domains available to that customer. Reseller and customers_see_all administrative accounts may be able to retrieve keys for other principals.

No. The vulnerable API response can disclose key material even when the customer lacks filesystem permissions for the underlying certificate files.

Use explicit, endpoint-specific response schemas that exclude private-key fields by default, and keep cryptographic secrets outside general API serialization paths.

Treat private keys as non-exportable secrets, enforce least-privilege authorization, test API responses for sensitive fields, and require deny-by-default field filtering in code review and CI policies.

Find out what's already
exploitable in your codebase.