Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MediumPublic exploit

Memory corruption in AppleJPEG media file processing

IdentifiersCVE-2026-28956CWE-119

CVE-2026-28956 is a memory corruption vulnerability in AppleJPEG affecting Apple platforms including iOS 26.5, iPadOS 26.5, macOS Sequoia 15.7.7, macOS Sonoma 14.8.7, macOS Tahoe 26.5, tvOS 26.5, visionOS 26.5, and watchOS 26.5. Apple states the issue was addressed with improved input validation. The flaw can be triggered when the vulnerable component processes a maliciously crafted media file, leading to memory corruption in the target process.

Share:
For your environment

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.

ANALYST BRIEF

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.

Processing a maliciously crafted media file may lead to unexpected app termination or corruption of process memory. Based on the vendor description, the demonstrated impact is denial of service at the application/process level and memory corruption within the affected process. The available information does not confirm arbitrary code execution.

Mitigation

If you can’t patch tonight, do this now.

Until patches are applied, reduce exposure to untrusted media content and avoid opening or processing media files from untrusted or unauthenticated sources. Where operationally feasible, limit automatic parsing/previewing of externally supplied media files in exposed workflows. No vendor-specific workaround beyond updating is provided in the available information.

Remediation

Patch, then assume compromise.

Upgrade affected systems to a fixed release: iOS 26.5, iPadOS 26.5, macOS Sequoia 15.7.7, macOS Sonoma 14.8.7, macOS Tahoe 26.5, tvOS 26.5, visionOS 26.5, or watchOS 26.5, as applicable. Apple indicates the issue was fixed through improved input validation in AppleJPEG.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2026-28956MaturityPoCVerified exploit

This repository is a compact local macOS exploit PoC for an AppleJPEGXL use-after-free, identified in comments as CVE-2026-28956. It is not part of a common exploit framework. The structure is simple: README.md is a minimal pointer to an external write-up; cgimagesource.m is the main trigger program; interpose_free.c is an exploit-assistance DYLD interposer that hooks free() to poison freed AppleJPEGXL buffers; and interpose_profile.c is a profiling interposer that logs malloc/free activity from AppleJPEGXL for heap analysis. The main PoC in cgimagesource.m is an Objective-C command-line program that accepts a crafted .jxl file, loads it into NSData, creates a CGImageSource via CGImageSourceCreateWithData, iterates images, and forces full pixel decoding by drawing each image into a bitmap context. This is explicitly intended to exercise the same ImageIO/CoreGraphics decode path used by Safari/WebContent and other Apple applications such as Mail and Preview. The vulnerability is triggered when the image source is released, causing AppleJPEGXL's JxlDecoderDestroy path to execute and hit the use-after-free. The code also disables GPU acceleration before triggering, likely to stabilize the software decode path. interpose_free.c materially increases exploit capability beyond a bare crash PoC. It uses DYLD interposition to replace free() for frees originating from AppleJPEGXL. In default "regctl" mode, it fills freed buffers with the ASB target value read from commpage memory, aiming to influence crash-state registers and demonstrate register control. In "arbrw" mode, enabled by ASB_MODE=arbrw, it fills freed memory with the ASB target address so later dereferences by framework code can demonstrate arbitrary read/write-oriented behavior. The comments explain the intended destructor behavior and how crafted pointer placement can induce reads and writes relative to the ASB target address. This makes the repository more than a simple detector: it is an operational exploitability demonstration toolkit. interpose_profile.c is a supporting analysis tool rather than the primary exploit. It hooks malloc() and free(), but only logs operations whose callers resolve to AppleJPEGXL. This helps characterize heap layout and call sites during decoding, with output suitable for parsing by a mutation or test harness. Overall, the repository’s purpose is to demonstrate local reachability and exploitability characteristics of an AppleJPEGXL UAF through the ImageIO decode pipeline using a malicious JPEG XL file, with additional tooling to capture Apple Security Bounty target flags, influence freed memory contents, and profile allocator behavior.

impost0rDisclosed May 17, 2026objective-ccfilelocal
EXPOSURE SURFACE

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.

VendorProductType
AppleIosoperating_system
AppleIpadosoperating_system
AppleIphone Osoperating_system
AppleMacosoperating_system
AppleTvosoperating_system
AppleVisionosoperating_system
AppleWatchosoperating_system

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity6

Community discussion across Reddit, Mastodon, and other social sources.