Die aktuelle Sicherheitslücke CVE-2024-24576 in Rust könnte dazu beitragen, nicht autorisierte Befehle auszuführen

Interessanterweise hat Microsoft Rust vor einiger Zeit in die Substrate App Platform von MS365 integriert

Symbol für die Lesezeit 2 Minute. lesen


Leser unterstützen MSpoweruser. Wir erhalten möglicherweise eine Provision, wenn Sie über unsere Links kaufen. Tooltip-Symbol

Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter

Wichtige Hinweise

  • Rust hat eine kritische Sicherheitslücke gefunden, die nicht autorisierte Shell-Befehle zulässt und in Version 1.77.2 behoben wurde.
  • Aufgrund der Komplexität von cmd.exe war es schwierig, Argumente narrensicher zu umgehen.
  • Die Befehls-API wurde aktualisiert und CommandExt::raw_arg für Windows-Benutzer eingeführt.

Rust, die beliebte Programmiersprache, hat gerade vor kurzem angekündigt, dass in der Standardbibliothek eine Sicherheitslücke entdeckt wurde, die es Angreifern ermöglichen könnte, nicht autorisierte Shell-Befehle auszuführen. 

Die als CVE-2024-24576 gekennzeichnete Schwachstelle wird wie angekündigt in der Rust-Version 1.77.2 behoben.

„Der Schweregrad dieser Sicherheitslücke ist von entscheidender Bedeutung, wenn Sie Batchdateien unter Windows mit nicht vertrauenswürdigen Argumenten aufrufen. Keine andere Plattform oder Nutzung ist betroffen“, heißt es in der Ankündigung.

Das Rust-Team erklärte, dass cmd.exe unter Windows aufgrund der Art und Weise, wie Argumente insbesondere bei Batchdateien verarbeitet werden, kompliziert ist und sie keinen narrensicheren Weg finden konnten, Argumente in allen Situationen zu umgehen.

„Die meisten Programme verwenden das Standard-C-Laufzeitargument argv, was in der Praxis zu einer größtenteils konsistenten Art und Weise führt, wie Argumente aufgeteilt werden“, fügt das Team hinzu.

Um die Zuverlässigkeit zu gewährleisten, haben sie den Escape-Code aktualisiert und dafür gesorgt, dass die Befehls-API einen InvalidInput-Fehler ausgibt, wenn ein Argument nicht sicher maskiert werden kann, was beim Starten des Prozesses auftritt.

Wenn Sie vertrauenswürdige Eingaben verarbeiten oder Ihre eigenen Escape-Vorgänge durchführen möchten, gibt es unter Windows eine alternative Methode namens CommandExt::raw_arg, die Sie ausprobieren können.  

Interessanterweise hat Microsoft daran gearbeitet, Rust einzuführen. Vor einiger Zeit haben wir berichtet, dass das Unternehmen aus Redmond die Sprache in die Substrate App Platform von MS365 übernimmt. neue Leute einstellen dafür einem neuen Team beizutreten.