
Un PoC de CVE-2024-53924
=IF(A1=200, eval("__import__('os').system(.Pycel, una biblioteca de Python para trabajar con hojas de cálculo de Excel que incluye evaluación simbólica segura de fórmulas de Excel, sufre de una vulnerabilidad de ejecución de código en la que funciones nativas de Python que de otro modo están bloqueadas podrían ejecutarse utilizando fórmulas de Excel especialmente manipuladas. Esto permite a un atacante proporcionar un documento malicioso que conduce a la ejecución de código cuando es evaluado por Pycel.
Usando el mismo script de demostración en la documentación de Pycel, analizar un documento de Excel debería evaluar las funciones de Excel y devolver un error como "Function EVAL is not implemented. EVAL is not a known Excel function" y negarse a ejecutar.
Sin embargo, pude evitar esto usando una fórmula maliciosa de Excel que inesperadamente conduce a la ejecución de código arbitrario cuando se ejecuta en Pycel.
Pycel actualmente no es seguro y no se puede confiar en él para evaluar o trabajar con hojas de cálculo de orígenes no confiables. No hacerlo puede llevar a resultados devastadores en forma de ejecución de código.
=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)Esto sigue siendo válido para la última versión de Pycel 1.0b30.