Safeguard
Vulnerability Analysis•

CVE-2018-9381: High Android GATT Uninitialized Data Disclosure

CVE-2018-9381 is a high Android flaw scored 7.5. Google fixed it in the June 2018 bulletin, so update devices to security patch level 2018-06-05 or later.

Safeguard Security Team
4 min read

CVE-2018-9381 is a high severity flaw in Android: uninitialized data in gatts_process_read_by_type_req of gatt_sr.c. NVD scores it 7.5. Google fixed it in the June 2018 Pixel and Nexus 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 uninitialized data in gatts_process_read_by_type_req of gatt_sr.c, in the Bluetooth GATT server code. The bulletin entry is typed ID and its affected versions column reads: 8.1. The NVD record is dated 2024-12-02 and carries the vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.

The two sources disagree on severity. Google's bulletin rates it Moderate, while NVD scores it 7.5 (High). Both are published figures and both are reported here.

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. Google devices (Pixel and Nexus) receive the fix at that level, and other manufacturers ship it on their own schedule.

Weakness class: CWE-908.

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

  1. Find every Android device that touches company data and record its patch level, using your mobile device management tool or the commands above.
  2. Update devices below 2018-06-05 through the manufacturer or carrier channel.
  3. For devices that cannot reach that level, restrict access to email, source code and admin tools, or replace them.
  4. Set a compliance rule that blocks devices more than a set number of months behind on patch level.
  5. Read the original entry in the June 2018 bulletin for anything specific to your hardware.

Why it matters

The record says gatts_process_read_by_type_req can return uninitialized memory in its response, which could disclose information to a remote party with no extra privileges and no user interaction.

This is CWE-908, use of uninitialized resource. Stale memory can contain fragments of earlier data, so a response built from it can leak things the code never meant to send. Initializing buffers before use closes the gap.

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-9381?

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-9381 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.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.