CVE-2026-28990 is a memory-handling vulnerability in Apple ImageIO. Processing a maliciously crafted image can corrupt process memory. The issue affects multiple Apple platforms, including iOS, iPadOS, macOS, tvOS, visionOS, and watchOS, and was addressed through improved memory handling. The available information identifies the bug as occurring during image processing but does not disclose the specific vulnerable function or image format parser.
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.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a small proof-of-concept for CVE-2026-28990, an integer overflow in Apple's ImageIO EXR decoder (EXRReadPlugin::decodeBlockAppleEXR). It contains two code files and one README. The Python script gen_exr_trigger.py is the exploit generator: it constructs a malformed OpenEXR file by setting a large dataWindow (16384 x 65536), building a valid-looking EXR header and channel list, creating a scanline offset table where every scanline points to the same pixel block, and appending a single oversized scanline payload filled with 0x41 bytes. The intended effect is to make the vulnerable decoder compute a wrapped buffer size, allocate too little memory, then overflow the heap when consuming the supplied pixel data. The Objective-C file exr_parser.m is a local harness rather than the vulnerability itself. It loads an image file from a user-provided path using NSData dataWithContentsOfFile, creates a CGImageSource via ImageIO, decodes the first image, then draws it into a bitmap context using CoreGraphics. This forces the vulnerable parsing/rendering path and demonstrates the crash. It prints width/height and disables acceleration via CGRenderingStateSetAllowsAcceleration before drawing, likely to make behavior more deterministic during testing. There are no network callbacks, C2 features, or remote delivery mechanisms in the code. The attack vector is a malicious file processed locally or by any application using the vulnerable ImageIO EXR parsing path. The repository is clearly a PoC and not weaponized: it demonstrates crash-capable heap corruption via a crafted file, but does not include code execution primitives, shell payloads, persistence, or automation beyond file generation and local parsing.
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.
21 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A memory corruption vulnerability in ImageIO triggered by processing a maliciously crafted image.
A macOS Tahoe vulnerability where processing a maliciously crafted image may corrupt process memory.
An image-processing vulnerability that could corrupt process memory.
A macOS Sonoma vulnerability in image processing that may corrupt process memory.
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.