
Un PoC di CVE-2024-53924
=IF(A1=200, eval("__import__('os').system(.Pycel, una libreria Python per lavorare con fogli di lavoro Excel che include la valutazione simbolica sicura delle formule Excel, soffre di una vulnerabilità di esecuzione del codice in cui le funzioni native di Python, altrimenti bloccate, possono essere eseguite utilizzando formule Excel appositamente create. Ciò consente a un attaccante di fornire un documento dannoso che porta all'esecuzione di codice quando viene valutato da Pycel.
Utilizzando lo stesso script demo nella documentazione di Pycel, l'analisi di un documento Excel dovrebbe valutare le funzioni Excel e restituire un errore come "Function EVAL is not implemented. EVAL is not a known Excel function" e rifiutarsi di eseguire.
Tuttavia, sono riuscito ad aggirare questo limite utilizzando una formula Excel dannosa che porta inaspettatamente all'esecuzione di codice arbitrario quando viene eseguita in Pycel.
Pycel è attualmente insicuro e non può essere considerato affidabile per la valutazione o l'elaborazione di fogli di lavoro provenienti da fonti non affidabili. La mancata osservanza di questa precauzione può portare a risultati devastanti sotto forma di esecuzione di codice.
=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)Questo è ancora valido per l'ultima versione di Pycel, la 1.0b30.