Security Vulnerability Report
中文
CVE-2025-36923 CVSS 8.0 HIGH

CVE-2025-36923

Published: 2025-12-11 20:15:57
Last Modified: 2025-12-12 18:06:55

Description

In NrmmDecoder::DecodeSORTransparentContext of cn_NrmmDecoder.cpp, there is a possible out of bounds write due to a heap buffer overflow. This could lead to remote (proximal/adjacent) escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:google:android:-:*:*:*:*:*:*:* - VULNERABLE
Android 特定版本(详见Android安全公告2025-12-01)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-36923 PoC - Android NrmmDecoder Heap Buffer Overflow // Note: This is a conceptual PoC for demonstration purposes // Actual exploitation requires proximity to target device #include <stdio.h> #include <stdlib.h> #include <string.h> // Simulated NrmmDecoder structure struct NrmmDecoderContext { char* buffer; size_t buffer_size; size_t data_length; }; // Vulnerable function - DecodeSORTransparentContext int DecodeSORTransparentContext(NrmmDecoderContext* ctx, const char* input, size_t len) { // VULNERABILITY: No bounds checking on input length // Attacker can overflow the heap buffer if (ctx->buffer == NULL || len > ctx->buffer_size) { return -1; // Error } // This is where the heap buffer overflow occurs // The check above is insufficient - actual implementation lacks proper validation memcpy(ctx->buffer, input, len); // Overflow when len > buffer_size return 0; } // Malicious payload generation char* generate_malicious_payload(size_t overflow_size) { char* payload = malloc(overflow_size + 1); memset(payload, 0x41, overflow_size); // Fill with 'A' bytes payload[overflow_size] = '\0'; return payload; } int main() { printf("CVE-2025-36923 PoC - Android NrmmDecoder Heap Overflow\n"); printf("Target: Android NrmmDecoder::DecodeSORTransparentContext\n"); printf("Attack Vector: Adjacent/Proximal Network\n"); printf("Impact: Privilege Escalation\n"); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36923", "sourceIdentifier": "[email protected]", "published": "2025-12-11T20:15:56.883", "lastModified": "2025-12-12T18:06:54.753", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In NrmmDecoder::DecodeSORTransparentContext of cn_NrmmDecoder.cpp, there is a possible out of bounds write due to a heap buffer overflow. This could lead to remote (proximal/adjacent) escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.0, "baseSeverity": "HIGH", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.1, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-122"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:google:android:-:*:*:*:*:*:*:*", "matchCriteriaId": "F8B9FEC8-73B6-43B8-B24E-1F7C20D91D26"}]}]}], "references": [{"url": "https://source.android.com/security/bulletin/pixel/2025-12-01", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}