Process memory corruption in Apple ImageIO image parsing
CVE-2026-28990 is a memory-handling vulnerability in Apple ImageIO. According to Apple's advisory, processing a maliciously crafted image may corrupt process memory. The issue was addressed with improved memory handling. The available context ties the flaw specifically to ImageIO across multiple Apple platforms, but does not disclose the exact vulnerable function, image format, or root-cause subtype beyond memory-handling leading to memory corruption.
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.
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.
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
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.
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.