Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local access (malicious app or device in hand)
-
DeliveryCall unprotected setOemUnlockAllowedByUser
-
ExploitMissing permission check bypassed
-
ExecutionOEM unlock allowed, FRP defeated
-
ImpactLocal privilege escalation / device takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires local access to the device - either a locally installed/malicious app or physical possession - because the vector is AV:L; it is not remotely exploitable. The specific prerequisite is reaching OemLockService.setOemUnlockAllowedByUser, which is missing its required permission check (CWE-862), allowing the OEM-unlock-allowed flag to be set and Factory Reset Protection (FRP) to be bypassed without the normally-required permission and without user interaction (UI:N). Limiting factors: the attacker must already be able to execute code on or physically operate the device, and only Android 15, 16, and 16-qpr2 are listed as affected; the exact caller context needed to invoke the method is not described in the available sources. |
| Impact | Signals are moderately consistent and point to a locally-exploitable authorization flaw rather than a remotely-wormable threat. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N) describes a local attack requiring no privileges and no user interaction, with high confidentiality, integrity and availability impact (base 8.4) - consistent with the description's 'local escalation of privilege with no additional execution privileges needed.' EPSS is very low (0.12%, 2nd percentile), which is expected for a local Android privilege-escalation/FRP-bypass bug that cannot be exploited over the network and typically needs a planted app or physical access; low EPSS here reflects non-remote mechanics, not low severity. This is NOT in CISA KEV and no public exploit is identified, so exploitation status is 'no public exploit identified at time of analysis.' The vuln.today Decision label is 'this_week,' indicating prompt but non-emergency patching. Net: a genuine high-severity authorization/FRP-bypass issue meriting patching in the current cycle, but not evidence of active, widespread exploitation - the AV:L vector and the FRP-bypass nature mean realistic risk concentrates on stolen/lost or attacker-handled devices and malicious local apps. One caveat to verify with the vendor: CWE-862 (missing authorization) and the 'missing permission check' description align with the local vector, but the trigger specifics (whether any unprivileged app can invoke setOemUnlockAllowedByUser, or whether some binder/UI path is required) are not detailed in the available sources. |
| Exploit ScenarioDerived | A malicious app installed on the device, or an attacker with hands-on access to a lost/stolen handset, invokes setOemUnlockAllowedByUser in OemLockService without the permission that should gate it. Because the permission check is missing, the OEM-unlock-allowed flag is set, defeating Factory Reset Protection and enabling bootloader unlock / further local privilege escalation. No public exploit is identified at time of analysis, and because the vector is local (AV:L) it cannot be triggered remotely. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Android 15, Android 16 and Android 16-qpr2 devices can have Factory Reset Protection bypassed through a missing authorization check in OemLockService.java, where setOemUnlockAllowedByUser fails to verify the caller holds the required permission (CWE-862). The flaw lets a local attacker set the OEM-unlock-allowed flag and clear FRP without user interaction, yielding high confidentiality, integrity and availability impact at a CVSS 3.1 base score of 8.4 (AV:L/AC:L/PR:N/UI:N/S:U). Exploitation requires local access to the device - a locally installed or malicious app, or physical possession - and no public exploit code was identified at time of analysis; EPSS is 0.12% (2nd percentile) and the issue is not in CISA KEV.
RemediationAI
Apply the Android platform fix distributed through the Android Security Bulletin of 2026-11-01 (https://source.android.com/docs/security/bulletin/2026/2026-11-01) - the bulletin is the vendor advisory and defines the patch level; the supplied data does not include an individual patched build identifier, so confirm the device's SPL (security patch level) reaches that bulletin before treating the device as remediated. Patch availability should therefore be recorded as available per vendor advisory rather than as a confirmed standalone version string. Because the vector is AV:L, exposure is bounded by who can run code on the handset or physically handle it, so until the bulletin level is applied, treat devices that permit untrusted local app installation or leave hardware unattended as higher risk; the supplied evidence does not document any vendor-sanctioned workaround or configuration change beyond updating, and no alternative mitigation has been confirmed for the missing permission check in setOemUnlockAllowedByUser.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OemLockService is the Android system service that governs the OEM unlocking state of a device, the same flag that controls bootloader unlock eligibility and interacts with Factory Reset Protection. The root cause is a missing permission check (CWE-862) in setOemUnlockAllowedByUser: the method that mutates the user-controlled OEM-unlock-allowed state does not enforce the caller permission that the API contract assumes, so an invoking context can change the persisted flag without authorization. Because the CVSS vector is AV:L with PR:N and UI:N, the practical precondition is code execution on the device or physical operation of it rather than remote reach - authentication requirements beyond local presence are not confirmed from the available data, and the exact caller context or component needed to reach the method is not described in the available sources. CPE data identifies the affected platform generically as google:android, with EUVD enumerating Android 15, Android 16 and Android 16-qpr2 as the affected branches.
Know when Android gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Local-only Android app/physical vector (AV:L); missing permission check means no privileges or interaction needed (PR:N/UI:N); FRP bypass enables full device compromise, so C/I/A:H.
Primary rating from Vendor (google_android).
CVSS VectorVendor: google_android
Lifecycle Timeline
3DescriptionCVE.org
In setOemUnlockAllowedByUser of OemLockService.java, there is a possible way to bypass FRP due to a missing permission check. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.
Executive ViewAI
CVE-2026-58989 is a high-severity vulnerability in Android 15, 16, and 16-qpr2 that allows Factory Reset Protection (FRP) to be bypassed via a missing authorization check. Affected devices include any organization-issued Android phones and tablets, as well as employee-owned devices under BYOD policies; a malicious app or someone with physical access could unlock a device without credentials, potentially exposing corporate data and undermining device‑theft recovery. Leadership should prioritize patching because this flaw directly weakens a key control for protecting lost or stolen devices and could lead to unauthorized access to sensitive business information.
No vendor-released patch identified at time of analysis. Interim mitigations: enforce strong device unlock PINs/passwords via MDM policy, prohibit sideloading of apps on managed devices, enable remote wipe and device tracking, and educate users to never leave devices unattended. For high‑risk users, consider additional physical security measures.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows and OS X and before 11.2.202.466
Integer underflow in the MPEG4Extractor::parseChunk function in MPEG4Extractor.cpp in libstagefright in mediaserver in A
Android 3.0 through 4.1.x on Disney Mobile, eAccess, KDDI, NTT DOCOMO, SoftBank, and other devices does not properly imp
Integer overflow in the SampleTable::setSampleToChunkParams function in SampleTable.cpp in libstagefright in Android bef
Apktool versions 2.9.1 and prior contain a path traversal vulnerability when processing Android APK files. Malicious APK
An elevation of privilege vulnerability in the Android system (art). Rated high severity (CVSS 7.8), this vulnerability
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
Use-after-free vulnerability in Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows
Use-after-free vulnerability in Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows
Android 1.6 Donut through 4.2 Jelly Bean does not properly check cryptographic signatures for applications, which allows
luni/src/main/java/java/io/ObjectInputStream.java in the java.io.ObjectInputStream implementation in Android before 5.0.
The Broadcom Wi-Fi driver in the kernel in Android 4.x before 4.4.4, 5.x before 5.1.1 LMY49G, and 6.x before 2016-02-01
EUVD-2026-115417
GHSA-phx6-9qm4-8fhj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB