CVE-2018-9394
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedIn mtk_p2p_wext_set_key of drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c, there is a possible OOB write due to improper input validation. This could lead to local escalation of privilege with System execution privileges needed. User interaction is not needed for exploitation.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · moderate confidenceIn the MediaTek Wi-Fi/P2P driver (gl_p2p.c), the mtk_p2p_wext_set_key function performs an out-of-bounds write due to improper input validation when processing key parameters. This kernel-space vulnerability allows a local attacker with existing System execution privileges to escalate to higher privileges. The vulnerability exists in the driver code path for setting WEP/WPA keys in the P2P (Wi-Fi Direct) functionality.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE dataall versionsCVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- High
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify MediaTek Wi-Fi hardware in the deviceCheck system information or /proc/cpuinfo for MediaTek chipset identifiers, or check if the Wi-Fi driver module name contains 'mtk' or 'mediaTek' stringsAffected if The device does not use MediaTek Wi-Fi hardware - this CVE only affects MediaTek implementations, not other chipset vendors like Qualcomm or Broadcom
-
Verify the vulnerable driver component existsCheck for the existence of the gl_p2p.c derived driver file in the kernel or firmware partitions; look for files named similar to 'gl_p2p' or 'mtk_p2p' in the Wi-Fi driver directoryAffected if The vulnerable driver file (gl_p2p.c based) is not present on the device - the vulnerability only exists where this specific driver code is included
-
Confirm P2P (Wi-Fi Direct) functionality is availableCheck if the device supports Wi-Fi Direct/P2P operations - this can be verified through kernel config (CONFIG_P2P) or by checking if p2p modules or services are present in the systemAffected if P2P functionality is not compiled or available on the device - the vulnerability only exists in the P2P key setting code path
-
Verify System-level access is possibleThe exploit requires the attacker to have System execution privileges (UID 1000) already - check if unprivileged apps can interact with the Wi-Fi frameworkAffected if The attacker cannot obtain System-level privileges - the vulnerability is an escalation FROM System, not a way to gain initial access
A device is affected only if it uses MediaTek Wi-Fi hardware with the P2P driver (gl_p2p.c), has P2P functionality enabled, and the attacker already possesses System execution privileges on the Android device.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedThe fix requires adding proper bounds checking and input validation in the mtk_p2p_wext_set_key function before any memory write operations. The driver should validate key length parameters and buffer sizes against allocated memory regions. This is a kernel driver patch that would need to be integrated into MediaTek's driver source code and deployed via firmware update.
Android Security Patch Level July 2018 or later (specific to your device model from OEM)
- Check your device's Android Security Patch Level in Settings > About Phone > Android Security Patch Level
- If the patch level is earlier than July 2018, your device is vulnerable
- Contact your device manufacturer (OEM) for the specific security update containing the fix for CVE-2018-9394
- Apply the monthly security update that includes the MediaTek connectivity driver patch
- Verify the Android Security Patch Level has been updated to July 2018 or later after applying the update
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation6.0 h
- Testing4.0 h
- Review / QA3.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,192.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2018-9394 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2018-9394 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data