
CVE-2021-27850 के लिए एक Proof of concept जो Apache Tapestry को प्रभावित करता है और unauthencticated remote code execution की ओर ले जाता है।
CVE-2021-27850 एक गंभीर बिना प्रमाणीकरण के रिमोट कोड निष्पादन भेद्यता है जो Apache Tapestry के सभी हालिया संस्करणों में पाई गई थी, AppModule.class फ़ाइल डाउनलोड करके हम HMAC गुप्त कुंजी को लीक कर सकते हैं जिसका उपयोग Apache Tapestry में सभी क्रमांकित वस्तुओं पर हस्ताक्षर करने के लिए किया जाता है।
हमें इस CVE का सामना एक वास्तविक जीवन मूल्यांकन में हुआ और जहाँ तक मुझे पता है, इस बात पर कोई सार्वजनिक शोषण उपलब्ध नहीं है कि Tapestry क्रमांकित वस्तुओं पर हस्ताक्षर कैसे करता है, इसलिए हमने निम्नलिखित POC प्रकाशित करने का निर्णय लिया जिसका उपयोग हमने Apache Tapestry स्रोत कोड में लंबे समय तक खुदाई करने के बाद किया x) ।
मेरे सेनपाई Fares को सराहना
1- इस रिपॉजिटरी को क्लोन करें
2- निम्नलिखित कमांड चलाएँ
javac -classpath commons-codec-1.15/commons-codec-1.15.jar:. Exploit.java
3- अंत में निम्नलिखित चलाएँ:
java -cp commons-codec-1.15/commons-codec-1.15.jar:. Exploit [Tapestry Key] [Ysoserial Payload] [Command To Execute]
जहाँ [Tapestry Key] AppModule.class से लीक हुई Hmac कुंजी है, [Ysoserial Payload] ysoserial से आप जिस पेलोड का उपयोग करना चाहते हैं और [Command To Execute] वह कमांड है जिसे आप निष्पादित करना चाहते हैं।

नोट: सामान्य Java डिसेरिएलाइज़ेशन शोषणों के विपरीत जहाँ आपके द्वारा चलाए जाने वाले कमांड सीमित होते हैं (कोई पाइप या विशेष वर्ण नहीं ..) आप यहाँ कोई भी जटिल कमांड उपयोग कर सकते हैं क्योंकि हम कमांड को निष्पादित करने से पहले निम्नलिखित जोड़ रहे हैं sh -c $@|sh . echo ।
संदर्भ: