Kernel code execution via lio_listio double free
Published Jun 5, 2020 · Updated Oct 21, 2025
Double-free memory corruption in Apple iOS, macOS, tvOS, and watchOS allows local users to execute code with kernel privileges. A race in XNU's lio_listio() handling frees the same lio_context twice, leaving a dangling allocation that an application can reclaim and use after free. Execution starts from a local application and can escape its sandbox with kernel privileges; public unc0ver 5.0 code exploited the flaw on iOS.
Summary
What happened
Double-free memory corruption in Apple iOS, macOS, tvOS, and watchOS allows local users to execute code with kernel privileges. A race in XNU's lio_listio() handling frees the same lio_context twice, leaving a dangling allocation that an application can reclaim and use after free. Execution starts from a local application and can escape its sandbox with kernel privileges; public unc0ver 5.0 code exploited the flaw on iOS.
The record
- CVE
- CVE-2020-9859
- Published
- Jun 5, 2020
- Updated
- Oct 21, 2025
- Vendor
- Apple
- Product
- iOS
- Classifications
- CWE-415, T1404, T1068
- Attack vector
- local
- Privileges
- authenticated
Timeline
How it unfolded
- Jun 5, 2020CVE publishedPublication date reported by the CVE source.
- Nov 3, 2021Exploitation reportedCISA Known Exploited Vulnerabilities catalog listing
- Oct 21, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=unspecified <iOS 13.5.1 and iPadOS 13.5.1
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- unc0ver 5.0 tachy0n jailbreakweaponized · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Reported exploitation
- CISA Known Exploited Vulnerabilities catalog listingknown exploited catalog
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo