Skip to main content

Froxlor EUVDEUVD-2026-87681

| CVE-2026-100708 HIGH
Information Exposure (CWE-200)
2026-09-26 VulnCheck GHSA-wq4p-x9fv-rhvg
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-priv customer API user
  2. Delivery
    Call Certificates.get / Certificates.listing
  3. Exploit
    Server returns ssl_key_file PEM verbatim
  4. Execution
    Harvest root-only/cross-tenant private keys
  5. Impact
    Impersonate domain or MITM/decrypt TLS

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Froxlor account with API access (PR:L) - the lowest tier, an ordinary customer, is sufficient to retrieve that customer's own domain private keys via Certificates.get or Certificates.listing. Cross-tenant key theft additionally requires a reseller account or an admin account with the customers_see_all flag set. No user interaction, no special protocol, and no non-default configuration are needed beyond the API being enabled and TLS certificates (e.g. Froxlor-managed Let's Encrypt) existing for the targeted domains. Limiting factors: exploitation is gated on holding valid API credentials on the instance, so the practical exposure is highest on multi-tenant shared hosting where untrusted customers/resellers coexist; single-operator installs are largely self-limited.

Impact

This is a genuine, credible information-disclosure risk despite the absence of hype signals. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H) indicates trivially reachable network exploitation requiring only a low-privileged authenticated customer API account and no user interaction - a low bar in a multi-tenant hosting panel where customer accounts are the normal operating unit. There is no EPSS score, no CISA KEV listing, and no public POC provided, so exploitation is 'no public exploit identified at time of analysis' - this is not evidence of active exploitation and should be treated as a latent-but-easy-to-trigger flaw rather than an emergency. The severity floor is real: the sink returns raw PEM TLS private keys, including root-only (0600) Let's Encrypt keys the customer otherwise cannot read, so a legitimate API call crosses a clear privilege/authority boundary. The vendor's 4.0 base VC:H is defensible; I judge the vendor's VI:L generous since the API read itself has no integrity impact (impersonation/MITM are downstream consequences of the stolen key, not base integrity). Net: real priority in any environment where untrusted customers or resellers share a Froxlor instance, moderate elsewhere; not a widespread-internet-scan threat given the authentication requirement and Froxlor's niche footprint.

Exploit ScenarioDerived

A low-privileged customer with API credentials on a shared Froxlor host calls Certificates.get or Certificates.listing and receives the raw PEM private keys for their own domains - including server-generated Let's Encrypt keys stored root-only that they could never read from disk. A reseller or an admin flagged customers_see_all can issue the same calls to dump other tenants' private keys, then use them for domain impersonation, passive decryption of captured TLS traffic, or active machine-in-the-middle. No public exploit code is required; the attack is a normal authenticated API request.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 26, 2026

Private TLS keys stored by Froxlor before 2.3.13 are disclosed verbatim through the Certificates.get and Certificates.listing API commands, letting any authenticated API caller - including the lowest-privilege customer account - read the raw PEM private keys of their own domains, such as server-generated Let's Encrypt keys normally stored root-only (0600) and inaccessible to that customer, while a reseller account or an admin with the customers_see_all flag can pull other principals' keys through the same sink. Disclosed keys enable domain impersonation, passive decryption of captured TLS traffic, and active machine-in-the-middle attacks. The independently assessed vector (CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) reflects high confidentiality impact with cross-tenant scope but no direct integrity or availability loss, and no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: Froxlor 2.3.13 - upgrade immediately per the vendor advisory at https://github.com/froxlor/froxlor/security/advisories/GHSA-6q2v-jjq5-m2c8 and the VulnCheck advisory at https://www.vulncheck.com/advisories/froxlor-before-2.3.13-private-key-disclosure-via-certificates-api. Because any authenticated API caller could already have exfiltrated key material, upgrading alone is not sufficient: treat every private key exposed through the affected API as compromised and reissue or replace the certificates, including Froxlor's Let's Encrypt-managed certificates, after the upgrade, then revoke the old certificates where the CA supports revocation. Interim compensating controls, with their trade-offs, include disabling or firewalling off the Froxlor API endpoint for untrusted customers, which breaks automated certificate and DNS provisioning for those accounts; auditing and reducing API entitlements by removing reseller status and the customers_see_all flag from accounts that do not strictly need them, which shrinks the cross-tenant blast radius but limits legitimate multi-tenant administration; and logging API calls to detect anomalous Certificates.get and Certificates.listing traffic, though logging cannot prevent an already-authorized disclosure.

Affected VersionsENISA

Froxlor 0 <2.3.13

Affected Packages

euvd froxlor fix: 2.3.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) manifesting as a missing output allowlist in Froxlor's API layer: the Certificates.get and Certificates.listing commands read Froxlor's domain_ssl_settings table and pass the entire result set to ApiCommand::response(), which serializes rows to JSON without stripping sensitive columns. The ssl_key_file column in that table holds the raw PEM TLS private key, and for Let's Encrypt certificates Froxlor's ACME integration generates the key material server-side and stores it root-only with 0600 permissions, so the API returns key material the caller could never read through the filesystem. The design also lacks per-field authorization - the query scoping decides which domains a caller may see, but the serializer does not decide which columns are safe to emit - so a low-privileged customer can read their own keys and a reseller or an admin with customers_see_all can read other principals' keys. CPE data (cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:*) and ENISA EUVD-2026-87681 both place the affected range under Froxlor before 2.3.13; the exposure sits on the ACME/Let's Encrypt issuance flow Froxlor automates, meaning the most valuable server-generated keys are exactly the ones leaked.

Know when Froxlor gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.7 HIGH

Low-priv authenticated API caller (PR:L) over network with no interaction; scope changed (S:C) because root-only keys cross the authorization boundary; pure disclosure so C:H, I:N, A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:24 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor); the advisory also tags CWE-522.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Froxlor, the hosting control panel used to manage customer domains, websites, and TLS certificates, has a high-severity flaw that allows any logged-in user - including the least-privileged customer account - to retrieve the raw private TLS keys for their domains, and for resellers and admins with the customers_see_all flag, other tenants' keys as well. Because these keys normally sit root-only on the server, a customer gaining access to them breaks the hosting provider's core trust boundary: whoever holds a domain's private key can impersonate that domain, silently intercept encrypted traffic, and mount machine-in-the-middle attacks against customers and their end users. Leadership should treat this as a customer-trust and contractual exposure affecting every hosted domain on unpatched installations, not a single-tenant incident.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
Froxlor is a niche open-source hosting control panel, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2023-0315 HIGH POC
8.8 Jan 16

Command Injection in GitHub repository froxlor/froxlor prior to 2.0.8. Rated high severity (CVSS 8.8), this vulnerabilit

CVE-2023-3173 CRITICAL POC
9.8 Jun 09

Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20. Rated cr

CVE-2023-1307 CRITICAL POC
9.8 Mar 10

Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13. Rated critical severity

CVE-2021-42325 CRITICAL POC
9.8 Oct 12

Froxlor through 0.10.29.1 allows SQL injection in Database/Manager/DbManagerMySQL.php via a custom DB name. Rated critic

CVE-2026-26279 CRITICAL POC
9.1 Mar 03

Command injection in Froxlor server admin before 2.3.4 due to typo (== instead of =) disabling input validation entirely

CVE-2023-6069 HIGH POC
8.8 Nov 10

Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0. Rated high severity (CV

CVE-2023-2034 HIGH POC
8.8 Apr 14

Unrestricted Upload of File with Dangerous Type in GitHub repository froxlor/froxlor prior to 2.0.14. Rated high severit

CVE-2023-1033 HIGH POC
8.8 Feb 25

Cross-Site Request Forgery (CSRF) in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8),

CVE-2023-0877 HIGH POC
8.8 Feb 17

Code Injection in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8), this vulnerability

CVE-2023-0671 HIGH POC
8.8 Feb 04

Code Injection in GitHub repository froxlor/froxlor prior to 2.0.10. Rated high severity (CVSS 8.8), this vulnerability

CVE-2020-10235 HIGH POC
8.8 Mar 09

An issue was discovered in Froxlor before 0.10.14. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi

CVE-2023-50256 HIGH POC
7.5 Jan 03

Froxlor is open source server administration software. Rated high severity (CVSS 7.5), this vulnerability is remotely ex

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy