2012-04-25 13 views
7

मैं एक लेख Open source library with vulnerabilities पर आया था।वसंत है - स्पेल कमजोर है?

यह आलेख बताता है कि "स्प्रिंग एक्सप्रेशन भाषा (एसपीईएल) का उपयोग HTTP पैरामीटर सबमिशन के माध्यम से किया जा सकता है जो हमलावरों को संवेदनशील सिस्टम डेटा, एप्लिकेशन और उपयोगकर्ता कुकीज़ प्राप्त करने की अनुमति देगा।"

क्या कोई इस पर अधिक प्रकाश डाल सकता है, कृपया?

उत्तर

3

इस पहलू सुरक्षा/मनोदशा सुरक्षा evaluation of SpEL (google docs link) चेकआउट करें जो लेख आप लिंक करते हैं, शायद यह संदर्भ दे रहा है (स्पेल के विशिष्ट मामले के लिए)।

वे वर्णन करते हैं कि वसंत जेएसपी टैग कितने ईएल अभिव्यक्तियों का मूल्यांकन करते हैं। इन मामलों में उपयोगकर्ता के लिए एसईएलईएल के रूप में सर्वर को डेटा जमा करना संभव हो सकता है। (इनकोडिंग यूआरएल) के साथ मूल्य ${bean.val} एक अनुरोध पैरामीटर

http://...?exp=$%7Bbean.val%7D 

अंदर JSP पृष्ठों, अभिव्यक्ति ${param.exp} पाठ ${bean.val} को सुलझा लिया जाएगा के रूप में जो अपने आप में सुरक्षित है। हालांकि, यह अभिव्यक्ति एक वसंत जेएसटीएल टैग की विशेषता के भीतर रहता है, जो हल किए गए मान का फिर से मूल्यांकन किया जा सकता है उदा। spring:message टैग में:

<spring:message message="${param.exp}" /> 

मूल्य ${bean.val}spring:message टैग जो bean.getVal() विधि का मूल्यांकन करेंगे करने के लिए के माध्यम से पारित किया जा रहा में परिणाम होगा। इसलिए अब हमारे पास क्लाइंट द्वारा सबमिट कोड और सर्वर पर चल रहा है।

+1

कृपया बहुत अधिक देखने नीचे दिया गया जवाब, जो वास्तविक – blackdrag

+0

@blackdrag धन्यवाद है, मैंने इसे पहले ही पढ़ लिया है। इस पोस्ट और पीटर दोनों मूल प्रश्न के दो अलग-अलग उत्तर प्रदान करते हैं "क्या कोई इस पर अधिक प्रकाश डाल सकता है, कृपया?"। यह उत्तर (लगभग एक वर्ष पुराना) आशा करता है कि कमजोरता वास्तव में क्या थी, जबकि पीटर का जवाब स्प्रिंग स्रोतों के इतिहास से निपटने में और वसंत के संस्करणों का वर्णन करता है जिसमें इस मुद्दे को हल किया गया है। आईएमओ वे दोनों अलग-अलग तरीकों से "प्रकाश डाला" और दोनों "वास्तविक" उत्तर हैं। – krock

+0

मैं मानता हूं, वे दोनों इस मुद्दे पर प्रकाश डालते हैं।केवल यह 2012 से पहले तय किया गया है। सबसे मूल्यवान जानकारी, कि रिपोर्ट से पहले ही रिपोर्ट पुरानी हो चुकी थी, गायब है। यही कारण है कि मैं जवाब को "वास्तविक" के रूप में नहीं मानता। – blackdrag

27

पहलू सुरक्षा की खोज जनवरी 2013 में मिली, लेकिन वसंत स्रोत प्रकाशित किया गया यह तय 2011 में वापस उपलब्ध कराया गया था जब यह पहली बार खोजा गया था। पहलू सुरक्षा के दान अमोडियो ने रिमोट कोड निष्पादन की संभावना के बारे में स्प्रिंगसोर्स को सूचित किया।

SpringSource पहलू सुरक्षा के निष्कर्ष के साथ हमारे सुरक्षा रिपोर्ट 2012/12/06 अद्यतन - लेकिन ठीक/मूल सलाहकार में सूचीबद्ध शमन अभी भी लागू होता है: http://support.springsource.com/security/cve-2011-2730

इस कमजोरी का फायदा केवल स्प्रिंग फ्रेमवर्क संस्करणों को प्रभावित करता है:

• 3.0.0 से 3.0.5 - यहां 3.0.6 तक अपग्रेड करने से समस्या हल हो जाएगी। • 2.5.0 से 2.5.6.SEC02 (सामुदायिक रिलीज) - 2.5.6.SEC03 तक अपग्रेड करने से समस्या हल हो जाएगी। • 2.5.0 से 2.5.7.SR01 (सब्सक्रिप्शन ग्राहक) - 2.5.7 एसआर 022 को अपग्रेड करना इस मुद्दे को हल करेगा।

यह सभी संस्करणों आगे बढ़ते हुए तय किया गया है - SpringFramework की मौजूदा रिलीज 3.2 है, दिसम्बर 2012 में जारी किया गया

धन्यवाद,

-Pieter (SpringSource)