CVE-2016-10476
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 Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear MDM9206, MDM9607, MDM9650, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 425, SD 430, SD 450, SD 615/16/SD 415, SD 617, SD 625, SD 650/52, SD 800, SD 808, SD 810, SD 820, SD 835, and SDX20, missing array index checks on app index in function qcril_uim_clear_encrypted_pin results in accessing addresses outside the bounds of the buffer when app index is too large.
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 · high confidenceMissing array bounds checking in the qcril_uim_clear_encrypted_pin function on Qualcomm Snapdragon chipsets allows out-of-bounds memory access when an app index exceeds buffer boundaries. This is a buffer over-read vulnerability in the UIM (SIM card) subsystem of the Qualcomm RIL (Radio Interface Layer) firmware.
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 versionsall versionsall versionsall versionsall versionsall versionsall versionsall 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
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.0/AV:N/AC:L/PR:N/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 the device chipset modelCheck the device specifications or system information to determine the Qualcomm Snapdragon chipset model (e.g., Mdm9206, Mdm9607, Mdm9650, Msm8909w, Sd 210, Sd 212, Sd 205, Sd 400)Affected if The chipset matches one of the affected models: Mdm9206, Mdm9607, Mdm9650, Msm8909w, Sd 210, Sd 212, Sd 205, or Sd 400
-
Verify the RIL firmware versionAccess the Qualcomm RIL (Radio Interface Layer) firmware version through device diagnostics, engineering mode, or AT command interface if availableAffected if The RIL firmware version corresponds to any version of the affected chipsets (all versions listed are vulnerable)
-
Confirm the UIM subsystem is activeCheck if the device has UIM/SIM card functionality enabled and the SIM card subsystem is operationalAffected if The device has an active SIM card interface and uses the Qualcomm UIM subsystem, which contains the vulnerable qcril_uim_clear_encrypted_pin function
-
Check for the vulnerable function in firmwareAnalyze the RIL firmware binary or kernel logs for the presence of the qcril_uim_clear_encrypted_pin function if firmware dumping is possibleAffected if The function qcril_uim_clear_encrypted_pin exists in the firmware without proper bounds checking
A device is affected if it uses any of the listed Qualcomm Snapdragon chipsets (Mdm9206, Mdm9607, Mdm9650, Msm8909w, Sd 210, Sd 212, Sd 205, or Sd 400) with the vulnerable RIL/UIM firmware, as all versions of these chipsets contain the flaw.
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 · scopedApply the Android security patch from 2018-04-05 or later, which includes proper bounds checking in the affected function. Device manufacturers must push firmware updates to users of affected Snapdragon devices.
- Contact your device OEM (Original Equipment Manufacturer) to obtain the latest firmware update for your specific device model
- Verify the Android security patch level on your device (Settings > About Phone > Security patch level)
- Ensure the security patch level is April 5, 2018 or later, as this CVE was addressed in the 2018-04-05 Android security bulletin
- If no update is available from your OEM, consider replacing the device or contacting Qualcomm directly for chipset-level patches
- For embedded/IoT devices using these modems, contact the device manufacturer for firmware updates specific to the MDM9206, MDM9607, MDM9650, MSM8909W, SD 210, SD 212, SD 205, or SD 400 modules
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing12.0 h
- Review / QA6.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $8,192.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2016-10476 — 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-2016-10476 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