CVE-2018-9339 is a high severity flaw in Android: type confusion in writeTypedArrayList and readTypedArrayList of Parcel.java. NVD scores it 7.8. Google fixed it in the June 2018 Android Security Bulletin. Devices at security patch level 2018-06-05 or later are covered, so check the level and update.
What's affected
The weakness is type confusion in writeTypedArrayList and readTypedArrayList of Parcel.java, in the Parcel class. The bulletin entry is typed EoP and its affected versions column reads: 8.0 and 8.1. The NVD record is dated 2024-11-19 and carries the vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
Google's bulletin and NVD agree on the rating: High in the bulletin, 7.8 (High) in NVD.
The fix is a platform patch, not something you install per app. Per the June 2018 bulletin, security patch levels of 2018-06-05 or later address all issues in that bulletin. Device makers include the fixes in their own updates, so the date a phone reaches that patch level depends on the manufacturer and carrier.
Weakness class: CWE-843, CWE-704.
How to check if you're exposed
Look at the security patch level, not the Android version number. The patch level is the date string that shows which monthly bulletins a device has absorbed.
On the device, open Settings, then About phone, then Android version, and read the Android security patch level. Exact menus vary by manufacturer.
For managed devices with USB debugging enabled, this reads the same value:
adb shell getprop ro.build.version.security_patch
adb shell getprop ro.build.version.release
A patch level earlier than 2018-06-05 means this bulletin has not been fully applied. A device that no longer receives updates cannot be fixed this way and should be retired from sensitive use.
What to do now
- Find every Android device that touches company data and record its patch level, using your mobile device management tool or the commands above.
- Update devices below 2018-06-05 through the manufacturer or carrier channel.
- For devices that cannot reach that level, restrict access to email, source code and admin tools, or replace them.
- Set a compliance rule that blocks devices more than a set number of months behind on patch level.
- Read the original entry in the June 2018 bulletin for anything specific to your hardware.
Why it matters
The record says the typed array list methods in Parcel.java can be fooled into reading a value as the wrong type, which leads to local escalation of privilege. Parcel is the core serialization class behind most Android inter process calls.
The CWEs are 843, access of a resource using an incompatible type, and 704, incorrect type conversion. Type confusion happens when code trusts a type tag it did not verify. In a class used this widely, a single mistake can affect many services at once.
This CVE is not on the CISA Known Exploited Vulnerabilities list, and I found no statement of exploitation in the bulletin. That is not a reason to wait. Old Android issues linger because many devices never receive the monthly updates, and the record was only published to NVD in 2024, years after the bulletin.
Safeguard's free in-browser dependency scan at gold.safeguard.sh/scan covers the libraries your own apps ship, not the device operating system. Use it for the app side, and your device management tool for the patch level side.
Quick check
Which patch level fixes CVE-2018-9339?
Google's June 2018 bulletin says security patch levels of 2018-06-05 or later address its issues. Confirm the exact entry in the bulletin for your device and manufacturer.
Is CVE-2018-9339 exploited in the wild?
It is not listed in CISA's Known Exploited Vulnerabilities catalog, and the bulletin text I read does not say it was exploited. Patch anyway.
Sources
Last reviewed: 19 October 2026.