CVE-2026-81730 in Dolibarr
Zusammenfassung
von VulDB • 27.08.2026
Dolibarr 9.0.0 bis 23.0.4 speichert Anhänge von eingehenden E-Mails unter dem Namen, der in den MIME-Headern der Nachricht angegeben ist, ohne diesen auf einen sicheren Basisnamen (basename) zu reduzieren. Die globale Funktion saveAttachment() in htdocs/emailcollector/lib/emailcollector.lib.php erstellt $filepath = $path . $filename . '.' . $ext und übergibt sie an file_put_contents(), während die private Funktion saveAttachment() in htdocs/emailcollector/class/emailcollector.class.php nach $destdir.'/'.$filename schreibt; der Name wird dabei über die Operationen record-join, create-ticket und create-project sowohl aus dem Wert von getName() als auch getFilename() des Anhangs übernommen. Eine Pfadtraversierungssequenz (Path Traversal) im Dateinamen bleibt daher intakt erhalten, sodass jeder Absender, der eine E-Mail an ein Postfach senden kann, das vom EmailCollector überwacht wird – was die übliche Nutzung für einen Support- oder Ticket-Eingangspostkorb ist –, angreiferkontrollierte Inhalte außerhalb des pro Objekt vorgesehenen Anhangsverzeichnisses ablegen kann, ohne über ein Dolibarr-Benutzerkonto zu verfügen. Gemäß dem in SECURITY.md von Dolibarr geforderten gehärteten Layout, bei dem htdocs schreibgeschützt ist, wird der Schreibvorgang auf den Dokumentenbaum beschränkt und beschädigt oder fälscht Dokumente anderer Objekte; wenn htdacs beschreibbar ist, erreicht dieselbe Primitive einen web-executierbaren Pfad. In Version 24.0.0 werden dol_sanitizePathName() und dol_sanitizeFileName() vor dem Schreibvorgang angewendet.
If you want to get best quality of vulnerability data, you may have to visit VulDB.