
A PoC of CVE-2024-53924
=IF(A1=200, eval("__import__('os').system( beginnt.Pycel, eine Python-Bibliothek für die Arbeit mit Excel-Arbeitsblättern, einschließlich symbolischer sicherer Auswertung von Excel-Formeln, leidet unter einer Codeausführungs-Schwachstelle, bei der Python-native Funktionen, die ansonsten blockiert sind, mit speziell präparierten Excel-Formeln ausgeführt werden können. Dies ermöglicht einem Angreifer die Bereitstellung eines schädlichen Dokuments, das bei der Auswertung durch Pycel zur Codeausführung führt.
Mit demselben Demo-Skript aus der Pycel-Dokumentation sollte die Analyse eines Excel-Dokuments Excel-Funktionen auswerten und einen Fehler wie "Function EVAL is not implemented. EVAL is not a known Excel function" zurückgeben und die Ausführung verweigern.
Allerdings gelang es mir, dies mit einer bösartigen Excel-Formel zu umgehen, die unerwartet zu beliebiger Codeausführung führt, wenn sie in Pycel ausgeführt wird.
Pycel ist derzeit unsicher und kann nicht zur Auswertung oder Arbeit mit Arbeitsblättern aus nicht vertrauenswürdigen Quellen verwendet werden. Andernfalls kann dies zu verheerenden Ergebnissen in Form von Codeausführung führen.
=IF(A1=200, eval("__import__('os').system('calc.exe')"), @LINEST(C1:C18,B1:B18))
=A1*eval("__import__('os').system('calc.exe')")
pip install -r requirements.txt)Dies gilt weiterhin für die neueste Pycel-Version 1.0b30.