Froxlor 2.3.10 and earlier contain a time-of-check time-of-use (TOCTOU) race condition in the SSH key synchronization cron… (CVE-2026-100713)
Froxlor versions 2.3.10 and earlier have a time-of-check time-of-use (TOCTOU) race condition in the SSH key synchronization cron job. This flaw allows a local user with shell access to exploit a race between symlink validation and file write operations, potentially leading to root-level compromise of the host running the Froxlor panel. The vulnerability is fixed in version 2.3.12.
AI Analysis
Technical Summary
Froxlor 2.3.10 and earlier contain a TOCTOU race condition in the SSH key synchronization cron (lib/Froxlor/Cron/System/SshKeys.php, SshKeys::generateFiles). The vulnerability arises because containment and symlink validation are performed only at check time, but the actual file write operations occur later with the filesystem path re-resolved as root, without pinning the file descriptor or preventing symlink following. On systems where the setting system.allow_customer_shell=1 is enabled, a customer with local shell access can atomically replace their ~/.ssh directory with a symlink after the check and before the write. This causes the root-run cron to append the customer's public key to /root/.ssh/authorized_keys and change ownership of /root/.ssh to the customer, resulting in full root compromise. The cron runs repeatedly, allowing unlimited exploitation attempts. This issue is a residual race condition bypassing a previous fix and is resolved in Froxlor 2.3.12.
Potential Impact
An attacker with local shell access and the non-default setting system.allow_customer_shell=1 enabled can escalate privileges to root by exploiting the race condition in the SSH key synchronization cron. This leads to full root compromise of the host running the Froxlor panel, including unauthorized access to root SSH keys and control over the system.
Mitigation Recommendations
Upgrade Froxlor to version 2.3.12 or later, where this TOCTOU race condition is fixed. Until then, consider disabling the system.allow_customer_shell setting to prevent customers from having local shell access, thereby mitigating the risk of exploitation.
Froxlor 2.3.10 and earlier contain a time-of-check time-of-use (TOCTOU) race condition in the SSH key synchronization cron… (CVE-2026-100713)
Description
Froxlor versions 2.3.10 and earlier have a time-of-check time-of-use (TOCTOU) race condition in the SSH key synchronization cron job. This flaw allows a local user with shell access to exploit a race between symlink validation and file write operations, potentially leading to root-level compromise of the host running the Froxlor panel. The vulnerability is fixed in version 2.3.12.
CVSS v3.1
Score 7.8high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Froxlor 2.3.10 and earlier contain a TOCTOU race condition in the SSH key synchronization cron (lib/Froxlor/Cron/System/SshKeys.php, SshKeys::generateFiles). The vulnerability arises because containment and symlink validation are performed only at check time, but the actual file write operations occur later with the filesystem path re-resolved as root, without pinning the file descriptor or preventing symlink following. On systems where the setting system.allow_customer_shell=1 is enabled, a customer with local shell access can atomically replace their ~/.ssh directory with a symlink after the check and before the write. This causes the root-run cron to append the customer's public key to /root/.ssh/authorized_keys and change ownership of /root/.ssh to the customer, resulting in full root compromise. The cron runs repeatedly, allowing unlimited exploitation attempts. This issue is a residual race condition bypassing a previous fix and is resolved in Froxlor 2.3.12.
Potential Impact
An attacker with local shell access and the non-default setting system.allow_customer_shell=1 enabled can escalate privileges to root by exploiting the race condition in the SSH key synchronization cron. This leads to full root compromise of the host running the Froxlor panel, including unauthorized access to root SSH keys and control over the system.
Mitigation Recommendations
Upgrade Froxlor to version 2.3.12 or later, where this TOCTOU race condition is fixed. Until then, consider disabling the system.allow_customer_shell setting to prevent customers from having local shell access, thereby mitigating the risk of exploitation.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-cvg5-3xjx-32m5
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-100713"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6ab89bd9f7a7c54106942019
Added to database: 09/27/2026, 04:30:17 UTC
Last enriched: 09/27/2026, 04:40:55 UTC
Last updated: 09/28/2026, 02:51:16 UTC
Views: 18
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.