Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Froxlor customer
-
DeliverySubmit multi-line SSH key payload with embedded newline to SshKeys::add()
-
ExploitInjected authorized_keys entry written during next cron execution
-
ExecutionAttacker-controlled SSH key with option directives activated on server
-
ImpactEstablish persistent SSH session bypassing subsequent revocation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Exploitation requires a valid Froxlor customer account with the SSH keys feature enabled (non-default in minimal installations; must be explicitly provisioned by the hosting provider). The attacker must be able to reach the Froxlor customer API endpoint over the network (AV:N). No additional privileges beyond a standard customer login are needed. Exploitation is limited to installations where: (1) the Froxlor SSH key management module is active and customer accounts have been granted SSH key upload rights, and (2) the SshKeys cron job is scheduled and running. Deployments where SSH key management is disabled or restricted to administrators are not exploitable. The injected persistence survives key deletion only while the poisoned authorized_keys file is not regenerated from a clean baseline. |
| Impact | The CVSS 4.0 base score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N) accurately reflects that exploitation requires a valid low-privilege customer account (PR:L) but no elevated complexity or user interaction. The real-world severity is higher than a raw integrity score suggests: the attacker achieves persistent SSH backdoor access that survives administrative revocation, defeating a primary incident-response control. EPSS data is absent from the provided intelligence, so exploitation probability cannot be quantified beyond the architectural signal. No CISA KEV listing and no confirmed POC code reduce urgency relative to the worst case. The 'Authentication Bypass' framing in the tags is partially accurate in that injected options can circumvent forced-command restrictions or key revocation, but the root mechanism is injection, not a protocol-level auth bypass. Hosting providers exposing the Froxlor customer SSH-key management feature to shared-hosting tenants face meaningful insider-threat and compromised-account risk. |
| Exploit ScenarioDerived | A shared-hosting customer authenticates to the Froxlor customer portal and submits a crafted SSH public key payload containing an embedded newline followed by a second complete key entry: e.g., 'ssh-ed25519 AAAA...legitkey customer@host\nssh-ed25519 AAAA...attackerkey no-pty,command="/bin/bash" attacker@evil'. The next Froxlor cron run writes the poisoned authorized_keys file to the server. Even after the customer account is suspended and their key deleted, the injected attacker-controlled key entry remains, granting the attacker persistent interactive SSH access to the hosting server. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 13, 2026
SSH key injection in Froxlor before 2.3.12 allows authenticated customers to write arbitrary lines into server-side authorized_keys files by embedding newline characters in SSH public key submissions to the SshKeys::add() API endpoint. An attacker with a valid customer account can plant SSH key entries bearing OpenSSH option directives (e.g., command=, from=, restrict) that persist beyond explicit key-deletion and access-revocation actions performed by administrators. No public exploit has been identified at time of analysis, but the vendor advisory confirms the flaw and the fix version.
RemediationAI
Upgrade Froxlor to version 2.3.12 or later; this is the vendor-released patched version confirmed in the GitHub security advisory at https://github.com/froxlor/Froxlor/security/advisories/GHSA-p3v3-74gc-jh5f. If immediate upgrade is not possible, disable or restrict access to the SSH key management feature for all customer accounts through Froxlor's admin panel until the patch is applied - this eliminates the attack surface entirely at the cost of removing customer SSH key self-service. Additionally, inspect existing authorized_keys files on affected systems for injected entries: any line containing unexpected option directives (command=, from=, environment=, restrict, etc.) preceding a key, or keys not matching the canonical list of customer-approved entries, should be treated as potentially malicious and removed. Re-enable SSH key management only after upgrading.
Affected VersionsENISA
Affected Packages
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 (cpe:2.3:a:froxlor:froxlor) that manages per-customer SSH public key authorization by writing entries into OpenSSH authorized_keys files via a background cron process (SshKeys.php cron). The SshKeys::add() API endpoint accepts SSH public key material from customers but does not filter or reject embedded newline sequences (CRLF or LF), a textbook CWE-93 (Improper Neutralization of CRLF Sequences) flaw. Because authorized_keys is a line-delimited flat file, injected newlines allow an attacker to insert fully formed, syntactically valid additional key entries complete with OpenSSH option directives. The cron job (SshKeys.php) then deploys this poisoned file to the filesystem, making the injected entries active without any further attacker action.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Low-privilege customer injects SSH keys over network; scope changes as injected entries affect server-level SSH access control outside the customer boundary.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Froxlor before 2.3.12 fails to properly validate multi-line SSH public keys in the SshKeys::add() endpoint, allowing customers to inject arbitrary lines into authorized_keys files. Attackers can inject malicious SSH key entries with option directives to gain persistent unauthorized access that survives key deletion and SSH access revocation.
Technical POC Analysis
CWE-93 (newline / CRLF injection).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Froxlor hosting management platform (versions before 2.3.12) allows customer accounts to persistently inject unauthorized SSH access credentials that survive administrative key removal. This creates a critical access control breach in multi-tenant environments, enabling unauthorized server access and potential lateral movement across hosted infrastructure.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Command Injection in GitHub repository froxlor/froxlor prior to 2.0.8. Rated high severity (CVSS 8.8), this vulnerabilit
Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20. Rated cr
Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13. Rated critical severity
Froxlor through 0.10.29.1 allows SQL injection in Database/Manager/DbManagerMySQL.php via a custom DB name. Rated critic
Command injection in Froxlor server admin before 2.3.4 due to typo (== instead of =) disabling input validation entirely
Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0. Rated high severity (CV
Unrestricted Upload of File with Dangerous Type in GitHub repository froxlor/froxlor prior to 2.0.14. Rated high severit
Cross-Site Request Forgery (CSRF) in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8),
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8), this vulnerability
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.10. Rated high severity (CVSS 8.8), this vulnerability
An issue was discovered in Froxlor before 0.10.14. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi
Froxlor is open source server administration software. Rated high severity (CVSS 7.5), this vulnerability is remotely ex
EUVD-2026-76988
GHSA-qm9r-w65j-rh8m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB