Skip to content
Threat Feed
critical advisory

Arbitrary File Deletion in Froxlor via Symlink Following

Froxlor versions through 2.3.10 are vulnerable to arbitrary file deletion where authenticated users can plant symlinks to trigger recursive deletion by a root-privileged cron task, leading to potential data destruction.

CVE search metadata

CVE search record: CVE-2026-100715. Severity: critical. CVSS: 9.6. KEV: no. Product: Froxlor (<= 2.3.10), Froxlor (< 2.3.13), froxlor (< 2.3.12), Froxlor (2.0.0-2.3.10). Brief: Arbitrary File Deletion in Froxlor via Symlink Following. Brief link: https://feed.craftedsignal.io/briefs/2026-09-froxlor-symlink-deletion/

What's new

  • 1. added detection rule: Detect Suspicious acme.sh Execution with Hook Arguments Sep 26, 16:59 via nvd
  • 2. added coverage for Froxlor (2.0.0-2.3.10) Sep 26, 15:14 via nvd
  • 3. added coverage for Froxlor (<= 2.3.10) Sep 26, 15:14 via nvd
  • 4. added coverage for Froxlor (<= 2.3.10) Sep 26, 15:14 via nvd
  • 5. added coverage for froxlor (< 2.3.12) Sep 26, 15:13 via nvd

Froxlor versions through 2.3.10 contain a critical vulnerability in the deleteFtpData cron task (Task 8). When an FTP account is deleted, the application queues this task to clean up associated data. The task execution flow invokes FileDir::makeCorrectDir() without the $fixed_homedir argument, causing the system to skip necessary symlink component path walking. Subsequently, the application executes a recursive 'rm -rf' operation with root privileges on the resulting path.

Because the application appends a trailing slash to the path before execution, the underlying GNU rm utility is forced to dereference symlinks. An authenticated user with write access to their designated FTP home directory can place a symbolic link in the target path after the task is queued but before the cron job executes. This allows the attacker to redirect the recursive deletion operation to arbitrary directories on the host filesystem, resulting in cross-tenant data loss and host-level denial of service. This vulnerability is addressed in Froxlor version 2.3.12.

Attack Chain

  1. Attacker obtains authenticated access to an FTP account managed by the target Froxlor instance.
  2. Attacker initiates the deletion of their own FTP account via the Froxlor interface, triggering the scheduling of the deleteFtpData cron task.
  3. Attacker identifies the target path that will be processed by the upcoming root-privileged cron cleanup job.
  4. Attacker plants a symbolic link pointing to a critical system directory (e.g., /etc or a peer tenant's data directory) within the expected FTP home path.
  5. The system root user executes the scheduled cron task, which resolves the path containing the attacker-controlled symlink.
  6. The 'rm -rf' command dereferences the symlink and recursively deletes the contents of the target directory.
  7. Final impact is realized as system instability, data loss, or total host denial of service.

Impact

Successful exploitation allows an authenticated customer to perform arbitrary file deletion with root privileges. This can result in the destruction of cross-tenant data, the deletion of critical system configuration files, or a complete host denial of service. Given the broad permissions of the cron task, the potential for widespread data corruption is significant.

Recommendation

Prioritize the update of all Froxlor installations to version 2.3.12 or later to include the patch for CVE-2026-100715. For environments that cannot be patched immediately, restrict user access to FTP home directories and audit the filesystem for unexpected symbolic links located within directories managed by Froxlor's cleanup cron tasks. Ensure that file system auditing is enabled to track 'rm' executions by the root user that target directories outside of expected user homedirs.


Immediate actions

Upgrade Froxlor to version 2.3.12 or later.

IT Operations 24h

Mitigations

Review cron task schedules and restrict permissions of user-writeable directories.

immediate System Administration

CVE-2026-100715

Detection coverage 1

Detect Suspicious acme.sh Execution with Hook Arguments

high

Detects the execution of acme.sh with arguments that suggest command injection, such as --renew-hook, --pre-hook, or --post-hook.

sigma tactics: execution techniques: T1059.004 sources: process_creation, linux

Detection queries are available on the platform. Get full rules →