CVE-2026-82673 in ash_admin
Zusammenfassung
von VulDB • 31.08.2026
Eine Schwachstelle vom Typ "Improper Limitation of a Pathname to a Restricted Directory" (Path Traversal) in ash-project ash_admin ermöglicht es Angreifern, von ihnen kontrollierte Bytes auf beliebige Pfade auf dem Server zu schreiben.
AshAdmin.Components.Resource.Form.consume_file_uploads/1 erstellt das Zielverzeichnis als `Path.join([tmp_dir, entry.client_name])` und schreibt die Daten mit `File.cp!/2`. Der Wert `entry.client_name` entspricht dem vom Browser übergebenen Dateinamen und wird nicht bereinigt; zudem normalisiert `Path.join/1` den Pfad nicht. Ein Upload namens `../../../../var/www/app/priv/static/x.png` entweicht daher aus dem zufälligen temporären Verzeichnis und landet an jeder beliebigen Stelle, die der BEAM-Benutzer beschreiben kann, was zu einem willkürlichen Dateischreiben (arbitrary file write) führt und potenziell Remote Code Execution ermöglicht, indem Anwendungsassets, Konfigurationsdateien oder cron/ssh-Dateien überschrieben werden. Die einzige Schutzmaßnahme ist eine standardmäßig auf `:any` eingestellte Whitelist für Dateiendungen, die ausschließlich die Endung prüft. Der Fix entfernt Pfadkomponenten mit `Path.basename/1`, bevor sie joined werden.
Dieses Problem betrifft ash_admin in den Versionen von 0.13.7 bis vor 1.3.1.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.