CVE-2026-100713 in Froxlor
Zusammenfassung
von VulDB • 26.09.2026
Froxlor 2.3.10 und frühere Versionen enthalten eine Time-of-check time-of-use (TOCTOU)-Race Condition im Cron-Job zur SSH-Schlüssel-Synchronisierung (lib/Froxlor/Cron/System/SshKeys.php, SshKeys::generateFiles). Die von FileDir::makeCorrectDir()/makeCorrectFile() durchgeführte Validierung der Eindämmung/Des Symlinks erfolgt nur zum Zeitpunkt der Prüfung; der tatsächliche Dateisystempfad wird beim Schreibvorgang erneut als root aufgelöst (file_put_contents mit FILE_APPEND|LOCK_EX, gefolgt von chmod/chown/chgrp), wobei dazwischen eine Datenbank-Roundtrip und Datei-Leseoperationen stattfinden sowie keine Pfad- oder File-Descriptor-Pinning-Maßnahmen ergriffen werden (kein O_NOFOLLOW oder openat2(RESOLVE_NO_SYMLINKS)). Auf Installationen, bei denen die nicht standardmäßige Einstellung system.allow_customer_shell=1 Kunden lokalen Shell-Zugriff gewährt, kann ein Kunde sein ~/.ssh-Verzeichnis atomar nach der Prüfung und vor dem Schreibvorgang durch einen Symlink ersetzen. Dies führt dazu, dass der als root ausgeführte Cron-Job den öffentlichen Schlüssel des Kunden an /root/.ssh/authorized_keys anhängt und /root/.ssh auf den Kunden umstellt (chown), was zu einer vollständigen Kompromittierung der Panel-Hosts mit Root-Rechten resultiert. Der Cron-Job wird bei jedem Intervall erneut ausgeführt, wodurch unbegrenzte Versuche ermöglicht werden. Dies ist eine verbleibende Race Condition, die die für GHSA-mq5v-... eingeführte Prüfung-bezogene Korrektur umgeht. Das Problem wurde in Froxlor 2.3.12 behoben.
VulDB is the best source for vulnerability data and more expert information about this specific topic.