Out-of-bounds read in Apple IOSurfaceAccelerator
CVE-2026-43655 is an out-of-bounds read vulnerability in Apple's IOSurfaceAccelerator component. Apple states the issue was addressed with improved bounds checking. Successful exploitation by a local app may trigger an invalid read in kernel-associated memory handling, leading to unexpected system termination or exposure of kernel memory contents. The issue was fixed in iOS 26.5 and iPadOS 26.5, macOS Tahoe 26.5, tvOS 26.5, and watchOS 26.5.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
Repository is a small, self-contained Objective-C proof-of-concept for CVE-2026-43655, an AppleM2ScalerCSCDriver / IOSurfaceAccelerator use-after-free reachable from a default iOS app sandbox. Structure is minimal: README.md provides the technical write-up and reproduction steps, ScalerTeardownUAF.m contains the full exploit logic and iOS UI wrapper, and entitlements.plist contains only get-task-allow for signing. The code is not part of a larger exploit framework. The main exploit flow is implemented in ScalerTeardownUAF.m inside UAFVC::runUAF. It obtains the AppleM2ScalerCSCDriver service with IOServiceGetMatchingService, opens a victim connection with IOServiceOpen, creates source and destination IOSurface objects, and submits a synchronous baseline request via IOConnectCallMethod selector 1. It then sets a victim marker value 0xDEAD0001 using selector 10, submits 50 asynchronous operations by setting TSD offset 0x008 to 1, and closes the victim connection with IOServiceClose. After teardown, it opens 50 replacement spray connections to the same driver, sets each spray connection marker to 0xBEEF0002 via selector 10, and repeatedly submits additional async operations to encourage allocator reuse and scheduler activity. The exploit capability is to reliably prime a stale scheduler entry in a shared kernel scheduler and demonstrate that the scheduler later dereferences freed-and-reused operation memory. The intended observable is a panic/reboot where register x9 contains 0xBEEF0002, proving the scheduler read replacement connection data rather than the original victim marker. The README further explains that the actual trigger may occur later when SpringBoard/compositor activity drives another scaler scheduling cycle, making this a cross-connection and potentially cross-process trigger condition. No network communication, remote C2, or external URLs are present. The relevant fingerprintable targets are local IOKit service names, bundle identifiers, and build/package file paths. Overall, this is a genuine local kernel crash/UAF reproduction PoC focused on demonstrating memory lifetime corruption rather than achieving privilege escalation or code execution.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
11 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A vulnerability in IOSurfaceAccelerator that may allow an app to cause unexpected system termination or read kernel memory.
An out-of-bounds read vulnerability in macOS Tahoe that may allow an app to cause unexpected system termination or read kernel memory.
An out-of-bounds read vulnerability in Apple TV software that could cause system termination or allow reading kernel memory.
An out-of-bounds read vulnerability that could allow an app to crash the system or read kernel memory.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.