Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRun unprivileged code on device
-
DeliveryRace ep_free in epoll teardown
-
ExploitTrigger kernel use-after-free
-
ExecutionReclaim freed object, corrupt memory
-
ImpactEscalate to kernel privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
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 an attacker to already be executing code locally on the device at low privilege (e.g., an installed/compromised unprivileged app) and to win a timing-sensitive race in the kernel's epoll teardown path (ep_free in eventpoll.c), reclaiming the freed object before the use-after-free is detected. No user interaction is required. Exploitation is LIMITED by: local access only (no remote vector), the need for an existing code-execution foothold (PR:L), and high attack complexity (AC:H) because the race is probabilistic and non-deterministic - reflected in SSVC Automatable='no'. There are no special product configuration prerequisites; the epoll subsystem is present in default Android kernel builds. |
| Impact | This is a legitimate but second-tier priority. The CVSS 3.1 vector (AV:L/AC:H/PR:L/UI:N/S:U) is internally consistent with the description: exploitation is local (AV:L), requires an already-present low-privileged foothold such as an installed app (PR:L), needs no user interaction (UI:N), but is gated by high attack complexity (AC:H) because success depends on winning a kernel race condition (CWE-362) in ep_free. Impact is total (C:H/I:H/A:H), matching the 'local escalation of privilege' outcome and the SSVC Technical Impact of 'total'. The mitigating signals dominate the current risk picture: SSVC Exploitation is 'none' and SSVC Automatable is 'no' (race conditions are inherently probabilistic and hard to reliably automate), there is no CISA KEV listing, and no public exploit was identified. EPSS is NOT provided in the input, so probabilistic exploitation likelihood cannot be factored in - this is a data gap, not a low score. There is no conflict between the CVSS vector and the description; both agree on local, authenticated, no-UI privilege escalation. Net: a high-severity local LPE primitive valuable to malware/exploit-chain authors on Android, but not currently evidenced as exploited and difficult to weaponize reliably - patch on the normal prioritized cycle rather than as an emergency. |
| Exploit ScenarioDerived | A malicious or compromised low-privilege Android app repeatedly manipulates epoll file descriptors to race the ep_free cleanup path, triggering a use-after-free in the kernel. By winning the race and reclaiming the freed object, the app corrupts kernel memory to escalate from the app sandbox to kernel/root privileges. No public exploit was identified at time of analysis and no user interaction is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
A use-after-free race condition in the Android kernel's epoll teardown path (ep_free in eventpoll.c) lets a locally installed or otherwise compromised unprivileged app escalate to kernel-level privileges by reclaiming a freed eventpoll object before cleanup completes. The flaw is tracked as CVE-2026-56906 (CWE-362) with a CVSS 3.1 base score of 7.0 (AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H), meaning exploitation requires an existing low-privilege code-execution foothold and a successful, timing-sensitive race - no user interaction and no special product configuration are needed. There is no public exploit code identified at time of analysis and no confirmed active exploitation (CISA KEV absent; SSVC Exploitation='none', Automatable='no'), which places this in the second-tier priority band for most defenders.
RemediationAI
Remediation is a patch: Google's Android Security Bulletin for Pixel, 2026-10-01 (https://source.android.com/docs/security/bulletin/pixel/2026/2026-10-01), is the vendor advisory carrying the kernel fix, so treat 'patch available per vendor advisory' as the current status - an exact patched kernel version string is not enumerated in the available data - and upgrade affected devices to a build whose security patch level is at or above that bulletin, with OEM/SoC vendors merging the same fix into their kernel branches on their own schedules. End users should install OTA updates promptly; enterprise administrators should block or quarantine devices below the required patch level via MDM compliance policy and confirm the fix has propagated to non-Pixel OEM images, since the unversioned CPE indicates this is a core kernel issue rather than a Pixel-only defect. Because there is no remote vector and exploitation requires an already-installed unprivileged app (PR:L) plus a narrow race (AC:H), the highest-value compensating controls are those that deny the initial low-privilege foothold: enforce Play Protect and an app allowlist, disable installation from unknown sources and restrict sideloading (trade-off: blocks legitimate developer and enterprise side-loading workflows), and remove or sandbox untrusted apps. Disabling or restricting the epoll subsystem is not a viable mitigation - Android's runtime and I/O stack depend on it, and doing so would break applications - and common kernel hardening toggles such as restricting unprivileged user namespaces or BPF do not close this specific pair of racing code paths, so until the patch is applied the practical posture is to limit untrusted local code execution and to monitor for kernel-level privilege-escalation indicators (unexpected root transitions, anomalous kernel crash traces in eventpoll).
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
The vulnerability lives in the Linux/Android kernel epoll subsystem implemented in fs/eventpoll.c, which backs epoll_create/epoll_ctl/epoll_wait for high-performance I/O multiplexing used heavily by the Android runtime and app frameworks. The affected function, ep_free, is the release path invoked when an epoll instance is destroyed; under concurrent access - for example a teardown racing against another thread still holding a reference or operating on the same eventpoll structure - the object can be freed while a dangling reference remains, yielding a use-after-free. This maps to CWE-362 (Concurrent Execution using Shared Resource with Improper Synchronization, i.e. a race condition), and the resulting primitive is a kernel write/read on freed memory, which is why CISA SSVC rates technical impact as 'total' and the CVSS vector assigns High Confidentiality, Integrity and Availability. Attack complexity is High (AC:H) because the race window is narrow and probabilistic, and privileges required are Low (PR:L) because the attacker must already run code as an unprivileged app; the vector shows UI:N (no user interaction) and AV:L (local only). The CPE cpe:2.3:a:google:android:*:*:*:*:*:*:*:* is unversioned, consistent with a kernel-core issue affecting Android builds rather than one specific OEM image; ENISA EUVD (EUVD-2026-93787) describes the affected component as the Android kernel, and the epoll subsystem ships enabled in default Android kernel configurations, so there are no non-default-configuration prerequisites.
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:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Local app foothold gives AV:L/PR:L; winning the ep_free race makes AC:H; no UI; kernel compromise yields full C:H/I:H/A:H with no scope change.
Primary rating from Vendor (Google_Devices).
CVSS VectorVendor: Google_Devices
Lifecycle Timeline
3DescriptionCVE.org
In ep_free of eventpoll.c, there is a possible use-after-free due to a race condition. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.
Executive ViewAI
Organizations with Android devices in their fleet face a high-severity local privilege escalation vulnerability (CVE-2026-56906) in the kernel's epoll subsystem. If exploited, a malicious app could gain kernel-level control, compromising the entire device and any sensitive data or corporate resources it accesses. Although no public exploit identified at time of analysis and no active exploitation has been confirmed, the lack of a vendor patch leaves devices exposed until mitigations are applied; exploitation requires an authenticated local user with low privileges and a timing-sensitive race condition.
No vendor-released patch identified; implement interim mitigations such as restricting app installations to trusted sources (e.g., Google Play), enforcing device policies to prevent sideloading, enabling Google Play Protect, using mobile threat defense solutions to detect malicious apps, and monitoring for anomalous kernel activity. Apply Android security updates as soon as they become available.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
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-93787
GHSA-c7c5-534m-5q2x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB