Safeguard
Vulnerability Analysis•

CVE-2018-9470: High Out-of-Bounds Write in Android Scanner

CVE-2018-9470: High Out-of-Bounds Write in Android Scanner. Fixed at patch level 2018-09-01 or later. Check your devices and update them soon.

Safeguard Security Team
3 min read

CVE-2018-9470 is a high severity out-of-bounds write caused by an incorrect bounds check in a native scanner component (bff_Scanner_addOutPos in Scanner.c). NVD scores it 8.8. Google fixes it at security patch level 2018-09-01 or later. Install the device update that reaches that level.

What's affected

  • Product: Android, in a native scanner component (bff_Scanner_addOutPos in Scanner.c).
  • Releases listed by the bulletin: 7.0, 7.1.1, 7.1.2, 8.0, 8.1 and 9. The NVD product list shows only some Android releases, so treat the bulletin as the fuller list.
  • Fixed in: security patch level 2018-09-01 or later, according to the Android Security Bulletin for September 2018.
  • Impact in the record: remote escalation of privilege in an unprivileged app, user interaction needed.
  • Severity: NVD scores it 8.8 High (vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). The bulletin lists it as High, type EoP. The two ratings agree.
  • Weakness classes: CWE-787 (Out-of-bounds Write).

How to check if you're exposed

  • On the device, open Settings and find the Android security patch level, usually under About phone. The exact path varies by manufacturer. A date earlier than 2018-09-01 means the fix is not present.
  • With a USB debugging connection, run adb shell getprop ro.build.version.security_patch. It prints the patch level as a date. You need 2018-09-01 or later.
  • For a fleet, export the patch level from your mobile device management console and filter for dates earlier than 2018-09-01.
  • Match each device against the release list above. Devices on releases outside it are not named for this CVE, but check them against the other entries in the same bulletin.

What to do now

  1. Identify every Android device in scope and record its current security patch level.
  2. Roll out the manufacturer or carrier update that reaches 2018-09-01 or later. Google publishes the fixes, but each device maker decides when its devices receive them.
  3. For devices that no longer receive updates, plan replacement or limit what they can reach, such as corporate mail and internal apps.
  4. Write the update policy down, with a maximum patch age, and report exceptions.

Why it matters

The record scores 8.8 with network access and user interaction (AV:N/UI:R). The description is about an unprivileged app, so the gain is code running inside that app process, with the usual follow-on risks from there.

The check that guards the write used the wrong limit, so a value that should have been refused was accepted. Wrong limit checks are common in native code that tracks output positions while it parses input. The fix corrects the comparison. The record's KEV flag is false, so CISA does not list it as exploited. The bulletin says Google had no reports of active customer exploitation or abuse of the newly reported issues in it. That is the absence of a report in the sources read, not proof that no one has tried.

Quick check

What does user interaction mean here?

In CVSS terms, someone must take an action such as opening content before the weakness can be reached. The record does not say which action.

Which patch level should I look for?

The Android Security Bulletin for September 2018 places this fix at 2018-09-01. Any date at or after 2018-09-01 includes it. Some makers ship it under a different update name, so check the date.

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.