Skip to main content

Froxlor EUVDEUVD-2026-87693

| CVE-2026-100720 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-09-26 VulnCheck GHSA-mmqp-fgp4-5q7j
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate as low-privileged customer
  2. Delivery
    Upload SSL cert with script in issuer['O'] field
  3. Exploit
    Payload stored verbatim via openssl_x509_parse()
  4. Install
    Admin opens SSL certificates page, Twig raw renders payload
  5. C2
    Script executes in admin session
  6. Execute
    Admin account takeover
  7. Impact
    Escalate to root via config cron

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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 customer account (the lowest-privileged role) with the ability to upload an SSL certificate for a domain they own - the injection point is the certificate's issuer organization (issuer['O']) field parsed by openssl_x509_parse() in the Certificates API add()/update() methods. Execution is gated on a privileged victim: an administrator or reseller must open the Domains > SSL certificates listing page, where Twig's raw filter renders the stored value without auto-escaping (UI:P). Affects Froxlor 2.0.0 through 2.3.10; not exploitable on 2.3.12+. Limiting factors: attacker needs a valid tenant account, the payload only fires on admin/reseller interaction, and the root-command-execution escalation depends on the standard Froxlor config-apply cron running as root.

Impact

This is a genuine priority within its deployment niche, though not a mass-exploitation emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N, score 9.3) reflects a low-complexity network-reachable stored XSS that crosses a privilege boundary (SC:H/SI:H = subsequent-system high impact), and the CVSS 3.1 equivalent would carry Scope:Changed with C:H/I:H. Two signals temper the raw score: exploitation requires an authenticated customer account (PR:L) to inject the payload AND requires a privileged admin/reseller to open the SSL certificates page (UI:P), so it is not fire-and-forget. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or automated exploitation - this reads as a targeted, victim-interaction-gated flaw rather than a widespread wormable one. The patch (2.3.12) and a coordinated GitHub Security Advisory from the vendor plus VulnCheck are confirmed, which is the strongest positive signal that the technical root cause is real and fixed. Net: real risk for anyone running multi-tenant Froxlor (the customer→admin→root escalation chain is severe), but the requirement for both a foothold account and admin interaction keeps real-world likelihood moderate rather than critical.

Exploit ScenarioDerived

A low-privileged Froxlor customer uploads a crafted SSL certificate for one of their own domains whose issuer organization field (issuer['O']) contains an HTML/JavaScript payload; openssl_x509_parse() extracts it and the API stores it verbatim. When an administrator or reseller later opens Domains > SSL certificates, the Twig raw filter emits the value unescaped and the script runs in the privileged session, enabling account takeover and - via Froxlor's root cron that applies webserver/DNS/PHP config - potential command execution as root. No public POC or exploit code was identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 26, 2026

Stored cross-site scripting in Froxlor 2.0.0 through 2.3.10 lets an authenticated customer - the lowest-privileged account role - inject JavaScript through the issuer organization field of an SSL certificate they upload for their own domain, which is parsed by openssl_x509_parse() and stored verbatim without sanitization. The payload executes only when a reseller or administrator opens Domains > SSL certificates, because the table-listing renderer passes scalar cells through Twig's raw filter and disables HTML auto-escaping, so the script runs in the privileged user's session and can result in full administrator account takeover. Because a Froxlor admin controls webserver, DNS and PHP configuration applied by a root cron job, that takeover can be escalated to command execution as root on the managed server. No public exploit identified at time of analysis; exploitation requires a valid tenant account plus privileged-user page interaction (UI:P), which makes this a genuine priority within its deployment niche rather than a mass-exploitation emergency.

RemediationAI

Vendor-released patch: upgrade to Froxlor 2.3.12, which fixes the issue per the GitHub security advisory GHSA-89vj-gqqr-73p8 and the VulnCheck advisory. If an immediate upgrade is not feasible, the most effective compensating control is to remove or suspend the customer role's ability to upload SSL certificates (for example by requiring administrator-mediated certificate import or by revoking the certificate-related permissions of untrusted tenant accounts), with the trade-off that self-service TLS provisioning stops working. As a secondary measure, sanitize or entity-encode any issuer['O'] values already stored in the certificates table and audit other raw-filtered list columns for the same escaping gap, recognizing that manual database edits are temporary and may be overwritten. Reducing the number of administrator and reseller accounts that browse Domains > SSL certificates lowers the chance of triggering the payload but does not remove it. After patching, review certificate records and administrator/reseller session activity for injected script, and treat any suspected admin compromise as a potential root compromise on the managed server, since the standard Froxlor configuration-apply cron runs as root.

Affected VersionsENISA

Froxlor 2.0.0 <2.3.12

Affected Packages

euvd froxlor fix: 2.3.12

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

Froxlor is a PHP-based web hosting control panel that manages webserver, DNS, mail and PHP configuration on behalf of resellers, customers and administrators. The vulnerable flow involves customer-uploaded TLS certificates: openssl_x509_parse() decodes the certificate and exposes its X.509 Distinguished Name fields, including issuer['O'] (the issuer organization). A customer can generate a self-signed certificate with an arbitrary O value, and Froxlor's Certificates API add()/update() methods persist that string without sanitization. The flaw is CWE-79 (improper neutralization of input during web page generation): Froxlor's table-listing renderer emits scalar cells through Twig's raw filter, which disables the template engine's automatic HTML escaping, so the stored string is interpreted as markup and script when Domains > SSL certificates is rendered. This crosses a privilege boundary from the customer role to reseller/administrator sessions, which is why the scope is changed and confidentiality and integrity impacts are high while availability is not affected. The CVSS 4.0 score of 9.3 reflects that scope change plus high C/I impact; the independent assessment maps the same behavior to CVSS 3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N. The CPE cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:* covers the affected Froxlor releases.

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 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 8.7 HIGH

Authenticated customer injects (PR:L), payload fires only when a privileged admin views the page (UI:R), and it crosses from customer to admin authority (S:C) yielding high confidentiality and integrity impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

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

DescriptionCVE.org

Froxlor 2.0.0 through 2.3.10 is vulnerable to stored cross-site scripting. When a customer (the lowest-privileged authenticated role) uploads an SSL certificate for one of their own domains, the Certificates API add()/update() methods parse it with openssl_x509_parse() and store the issuer organization (issuer['O']) value verbatim without sanitization. Froxlor's table-listing renderer then emits scalar cells through Twig's raw filter, disabling HTML auto-escaping, so when an administrator or reseller opens Domains > SSL certificates the attacker-supplied issuer value executes as script in the privileged user's session. This crosses a privilege boundary from customer to admin and can result in full administrator account takeover; because a Froxlor admin controls webserver, DNS, and PHP configuration applied by a cron job running as root, the issue can be further escalated to command execution as root on the managed server. The issue is fixed in Froxlor 2.3.12.

Technical POC Analysis

CWE-79 stored cross-site scripting.

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

A critical stored cross-site scripting flaw in Froxlor, the control panel that hosting providers use to manage web, DNS and PHP services on their servers, allows an attacker holding a low-privilege hosting account to plant malicious code that later executes in a reseller's or administrator's browser when they open the SSL certificate listing. Successful exploitation can yield full control of the Froxlor administrative account and, because that account drives root-level configuration on the managed server, escalate to complete server compromise. Since one Froxlor instance typically serves many hosted customers, leadership should treat this as a multi-tenant infrastructure risk rather than an isolated application defect.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche open-source web-hosting control panel used by small hosting providers
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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