
CVE-2024-53924 का एक PoC
=IF(A1=200, eval("__import__('os').system( उप-स्ट्रिंग से शुरू होने वाला।Pycel, एक Python लाइब्रेरी है जो Excel कार्यपत्रकों के साथ काम करने के लिए है, जिसमें Excel सूत्रों का प्रतीकात्मक सुरक्षित मूल्यांकन शामिल है, एक कोड निष्पादन भेद्यता से ग्रस्त है जहां Python-मूल फ़ंक्शन जो अन्यथा अवरुद्ध होते हैं, विशेष रूप से तैयार किए गए Excel सूत्रों का उपयोग करके निष्पादित किए जा सकते हैं।
यह एक हमलावर को एक दुर्भावनापूर्ण दस्तावेज़ प्रदान करने की अनुमति देता है, जो Pycel द्वारा मूल्यांकन किए जाने पर कोड निष्पादन की ओर ले जाता है।
Pycel दस्तावेज़ीकरण में उसी डेमो स्क्रिप्ट का उपयोग करते हुए, Excel दस्तावेज़ का विश्लेषण करने पर Excel फ़ंक्शन का मूल्यांकन होना चाहिए और "Function EVAL is not implemented. EVAL is not a known Excel function" जैसी त्रुटि लौटानी चाहिए और चलने से इनकार करना चाहिए।
हालाँकि, मैं एक दुर्भावनापूर्ण Excel सूत्र का उपयोग करके इसे बायपास करने में सक्षम था जो Pycel में चलने पर अप्रत्याशित रूप से मनमाना कोड निष्पादन की ओर ले जाता है।
Pycel वर्तमान में असुरक्षित है और अविश्वसनीय स्रोतों से कार्यपत्रकों का मूल्यांकन करने या उनके साथ काम करने के लिए भरोसेमंद नहीं है। ऐसा करने में विफलता कोड निष्पादन के रूप में विनाशकारी परिणाम ला सकती है।
=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)यह नवीनतम Pycel संस्करण 1.0b30 के लिए अभी भी मान्य है।