Description
Froxlor through 2.3.10 does not filter sensitive columns from API responses: Domains::get(), Domains::listing(), SubDomains::get(), and the admin branch of SubDomains::listing() perform a wildcard SELECT over the panel_domains table and return the row unmodified, including the panel_domains.dkim_privkey field. An authenticated, non-superadmin admin holding the delegated customers_see_all flag can therefore read the DKIM private signing keys of domains belonging to other tenants via Domains.get, Domains.listing, SubDomains.get, or SubDomains.listing, with a single listing call disclosing the key of every visible domain. The disclosed keys allow an attacker to sign email that passes DKIM verification and DMARC alignment for the affected domains. This is a follow-on to an incomplete fix that stripped password and data_2fa but not dkim_privkey. The issue is fixed in 2.3.12.
Published: 2026-09-26
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Sensitive Data Exposure and Potential Email Spoofing
Action: Apply Patch
AI Analysis

Impact

Froxlor versions up to and including 2.3.10 fail to filter the dkim_privkey column from API responses for several domain‑related endpoints. An authenticated administrator who is not a superadmin but holds the delegated customers_see_all flag can request domain or subdomain information and receive a complete table row, thereby disclosing the private key used to sign DKIM emails for all visible domains. Possession of this key allows the attacker to forge DKIM signatures that will pass both DKIM verification and DMARC alignment, making malicious mail appear legitimate.

Affected Systems

All installations of Froxlor that are 2.3.10 or older are vulnerable. The issue was addressed in release 2.3.12; any deployment still using the older releases remains at risk. The affected API calls are Domains::get, Domains::listing, SubDomains::get, and the admin branch of SubDomains::listing.

Risk and Exploitability

The CVSS base score of 6.9 indicates a moderate severity for information disclosure. No EPSS score is available, and the vulnerability is not currently listed in the CISA KEV catalog. The attack requires authenticated access via the API and the ability to set the delegated customers_see_all flag, which is typically granted to non‑superadmin administrators with customer‑management privileges. Once the key is obtained, an attacker can produce convincing DKIM‑signed emails that satisfy recipient mail servers’ DNS‑based authentication checks, thereby enabling phishing or other spoofing campaigns.

Generated by OpenCVE AI on September 26, 2026 at 16:04 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade your Froxlor installation to version 2.3.12 or later, which removes the DKIM private key from API responses.
  • Regenerate and redistribute DKIM private keys for all domains that were served by the compromised installation to invalidate any keys that may have been extracted.
  • Restrict API access so that only superadmin users can retrieve domain information and remove or carefully audit the delegated customers_see_all flag from ordinary administrators.

Generated by OpenCVE AI on September 26, 2026 at 16:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 27 Sep 2026 00:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description Froxlor through 2.3.10 does not filter sensitive columns from API responses: Domains::get(), Domains::listing(), SubDomains::get(), and the admin branch of SubDomains::listing() perform a wildcard SELECT over the panel_domains table and return the row unmodified, including the panel_domains.dkim_privkey field. An authenticated, non-superadmin admin holding the delegated customers_see_all flag can therefore read the DKIM private signing keys of domains belonging to other tenants via Domains.get, Domains.listing, SubDomains.get, or SubDomains.listing, with a single listing call disclosing the key of every visible domain. The disclosed keys allow an attacker to sign email that passes DKIM verification and DMARC alignment for the affected domains. This is a follow-on to an incomplete fix that stripped password and data_2fa but not dkim_privkey. The issue is fixed in 2.3.12.
Title Froxlor before 2.3.12 DKIM Private Key Disclosure via API
First Time appeared Froxlor
Froxlor froxlor
Weaknesses CWE-200
CPEs cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:*
Vendors & Products Froxlor
Froxlor froxlor
References
Metrics cvssV3_1

{'score': 4.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-26T23:07:53.011Z

Reserved: 2026-09-26T02:40:23.372Z

Link: CVE-2026-100710

cve-icon Vulnrichment

Updated: 2026-09-26T23:07:50.290Z

cve-icon NVD

Status : Deferred

Published: 2026-09-26T14:16:56.580

Modified: 2026-09-26T23:16:33.050

Link: CVE-2026-100710

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T16:30:07Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor