Zero-Click Exploit Chain Audit
A security research skill for analyzing and auditing zero-click exploit chains that combine messaging app protocol vulnerabilities with image parser memory corruption bugs.
When to Use This Skill
Use this skill when:
- Auditing messaging applications for zero-click vulnerabilities
- Analyzing linked-device or companion protocol implementations
- Testing image parser vulnerabilities (DNG, RAW, vendor-specific formats)
- Designing security assessments for media pipeline components
- Creating hardening recommendations for messaging apps
- Researching exploit chain methodologies for defensive purposes
Core Concepts
The Attack Chain Pattern
Zero-click exploits typically follow this pattern:
- Protocol Flaw → Coerces app into fetching untrusted content without user interaction
- Remote Content Delivery → Forces the app to load attacker-controlled media
- Parser Vulnerability → Triggers memory corruption in shared OS image pipeline
- Exploitation → Leaks information and chains gadgets to escape sandbox
Key Attack Surfaces
Messaging App Protocols
- Linked-device/companion protocols (WhatsApp, Signal, Telegram)
- Sync actions that carry URLs or media references
- Device metadata fields that cross trust boundaries
- Action descriptors with minimal validation
Image Parser Vulnerabilities
- RawCamera (iOS/macOS) - DNG/RAW processing
- Vendor parsers (Samsung libimagecodec, libOneUI_ImageDecoder)
- Shared OS media pipelines (ImageIO, CGImageSource)
- Auto-preview mechanisms (thumbnails, notifications, share sheets)
Audit Workflow
Phase 1: Protocol Analysis
Capture legitimate traffic
- Attach debugger or Frida to client
- Hook post-decryption handlers
- Dump decoded protocol payloads
- Document available action types and parameters
Identify trust boundary crossings
- Look for fields carrying URLs without allow-lists
- Check for
http_url, thumbnail_uri, download_url, render_html
- Verify device pairing validation on high-impact fields
- Test if sender authentication is enforced
Map the attack surface
Protocol Field → Trust Assumption → Validation Check → Risk Level
resource_url → Trusted device → None → HIGH
media_type → Trusted device → MIME check → MEDIUM
device_id → Paired device → Key verification → LOW
Phase 2: Remote Content Primitive Testing
Forge test actions
- Reuse observed protocol schema
- Modify only attacker-controlled fields
- Test with benign URLs first
- Verify the fetch occurs without UI
Instrument the fetch
- Monitor HTTP(S) requests from the app
- Check which renderer handles the content (WKWebView, ImageIO, etc.)
- Verify MIME type handling
- Test different content types (HTML, images, etc.)
Validate zero-click behavior
- Confirm no notifications or prompts
- Verify background execution
- Test across different app states (foreground, background, locked)
Phase 3: Parser Vulnerability Testing
Identify parser entry points
- Trace which system components handle the fetched content
- Check if content reaches RawCamera, vendor decoders, or other parsers
- Map the call chain from app to system parser
Fuzz the parser
- Use malformed DNG/RAW files as test corpus
- Target specific metadata fields:
TileByteCounts / StripByteCounts
TileOffsets / StripOffsets
ImageWidth / ImageLength
BitsPerSample
OpcodeList3 entries
- Monitor for crashes, hangs, or memory errors
Analyze crashes
- Check crash logs for OOB read/write patterns
- Look for heap metadata corruption
- Identify register control opportunities
- Document reliable primitives
Phase 4: Chain Validation
End-to-end test
- Combine protocol primitive with parser payload
- Verify the full chain executes without user interaction
- Test on target device(s)
- Document success criteria
Reliability assessment
- Run multiple iterations
- Test across different app versions
- Check for race conditions
- Measure success rate
Hardening Recommendations
Protocol Security
- Enforce strict allow-lists for all linked-device actions
- Require device pairing proof (signed payloads) for high-impact fields
- Bind actions to per-device keys and reject unknown senders
- Validate URL schemes against allow-lists or signed blobs
- Implement replay protection with nonces or timestamps
Media Pipeline Security
- Restrict MIME types to approved list
- Explicitly reject RAW/DNG unless feature is required
- Isolate parser execution in sandboxed processes
- Use memory-safe parsers where available
- Implement size limits to prevent resource exhaustion
Parser Hardening
- Maintain fuzzing corpora of malformed files
- Run regression tests after every update
- Enable sanitizers (ASan, MTE) in test builds
- Automate crash triage with symbolicated logs
- Monitor for heap metadata corruption patterns
Test Case Templates
Protocol Test
Test: Linked-device action with unvalidated URL
Setup: Capture legitimate sync action, modify resource_url
Expected: App fetches URL without user interaction
Risk: HIGH - Zero-click remote content delivery
Parser Test
Test: Malformed DNG with conflicting TileOffsets
Setup: Create DNG with valid headers but invalid offsets
Expected: Parser crash or memory corruption
Risk: HIGH - Memory corruption primitive
Chain Test
Test: Protocol action → HTML → DNG → Parser crash
Setup: Full chain from protocol to parser
Expected: Zero-click crash on target device
Risk: CRITICAL - Complete exploit chain
Safety Guidelines
- Only test on devices you own or have explicit authorization for
- Use isolated test environments (VMs, test devices)
- Document all findings for responsible disclosure
- Coordinate with vendors before public disclosure
- Follow responsible disclosure timelines
References
- DNGerousLINK: WhatsApp 0-Click Exploits on iOS and Samsung Devices
- CVE-2025-55177: WhatsApp linked-device authentication bypass
- CVE-2025-43300: RawCamera DNG parser vulnerability
- CVE-2025-21043: Samsung vendor parser out-of-bounds write
Output Format
When providing audit results, use this structure:
# Audit Report: [Target Application]
## Executive Summary
[Brief overview of findings]
## Attack Surface Analysis
- Protocol components: [list]
- Parser components: [list]
- Trust boundaries: [list]
## Test Results
| Test ID | Component | Result | Risk |
|---------|-----------|--------|------|
| T-001 | Protocol | PASS | HIGH |
| T-002 | Parser | FAIL | MEDIUM |
## Recommendations
1. [Priority 1]
2. [Priority 2]
3. [Priority 3]
## Technical Details
[Detailed findings with reproduction steps]
Next Steps
After initial audit:
- Prioritize findings by risk and exploitability
- Create detailed reproduction cases for critical issues
- Develop hardening patches or mitigations
- Plan responsible disclosure timeline
- Schedule follow-up testing after fixes
1---2name: zero-click-exploit-chain-audit3description: Security audit skill for analyzing zero-click exploit chains in messaging apps and image parsers. Use this skill whenever the user mentions security auditing, messaging app vulnerabilities, image parser exploits, zero-click attacks, WhatsApp linked-device protocols, RawCamera vulnerabilities, DNG parsing, or any combination of protocol flaws and memory corruption chains. This skill helps security researchers understand attack surfaces, design test methodologies, and create hardening recommendations for messaging applications and media pipelines.4---56# Zero-Click Exploit Chain Audit78A security research skill for analyzing and auditing zero-click exploit chains that combine messaging app protocol vulnerabilities with image parser memory corruption bugs.910## When to Use This Skill1112Use this skill when:13- Auditing messaging applications for zero-click vulnerabilities14- Analyzing linked-device or companion protocol implementations15- Testing image parser vulnerabilities (DNG, RAW, vendor-specific formats)16- Designing security assessments for media pipeline components17- Creating hardening recommendations for messaging apps18- Researching exploit chain methodologies for defensive purposes1920## Core Concepts2122### The Attack Chain Pattern2324Zero-click exploits typically follow this pattern:25261. **Protocol Flaw** → Coerces app into fetching untrusted content without user interaction272. **Remote Content Delivery** → Forces the app to load attacker-controlled media283. **Parser Vulnerability** → Triggers memory corruption in shared OS image pipeline294. **Exploitation** → Leaks information and chains gadgets to escape sandbox3031### Key Attack Surfaces3233#### Messaging App Protocols34- **Linked-device/companion protocols** (WhatsApp, Signal, Telegram)35- **Sync actions** that carry URLs or media references36- **Device metadata** fields that cross trust boundaries37- **Action descriptors** with minimal validation3839#### Image Parser Vulnerabilities40- **RawCamera** (iOS/macOS) - DNG/RAW processing41- **Vendor parsers** (Samsung libimagecodec, libOneUI_ImageDecoder)42- **Shared OS media pipelines** (ImageIO, CGImageSource)43- **Auto-preview mechanisms** (thumbnails, notifications, share sheets)4445## Audit Workflow4647### Phase 1: Protocol Analysis48491. **Capture legitimate traffic**50 - Attach debugger or Frida to client51 - Hook post-decryption handlers52 - Dump decoded protocol payloads53 - Document available action types and parameters54552. **Identify trust boundary crossings**56 - Look for fields carrying URLs without allow-lists57 - Check for `http_url`, `thumbnail_uri`, `download_url`, `render_html`58 - Verify device pairing validation on high-impact fields59 - Test if sender authentication is enforced60613. **Map the attack surface**62 ```63 Protocol Field → Trust Assumption → Validation Check → Risk Level64 resource_url → Trusted device → None → HIGH65 media_type → Trusted device → MIME check → MEDIUM66 device_id → Paired device → Key verification → LOW67 ```6869### Phase 2: Remote Content Primitive Testing70711. **Forge test actions**72 - Reuse observed protocol schema73 - Modify only attacker-controlled fields74 - Test with benign URLs first75 - Verify the fetch occurs without UI76772. **Instrument the fetch**78 - Monitor HTTP(S) requests from the app79 - Check which renderer handles the content (WKWebView, ImageIO, etc.)80 - Verify MIME type handling81 - Test different content types (HTML, images, etc.)82833. **Validate zero-click behavior**84 - Confirm no notifications or prompts85 - Verify background execution86 - Test across different app states (foreground, background, locked)8788### Phase 3: Parser Vulnerability Testing89901. **Identify parser entry points**91 - Trace which system components handle the fetched content92 - Check if content reaches RawCamera, vendor decoders, or other parsers93 - Map the call chain from app to system parser94952. **Fuzz the parser**96 - Use malformed DNG/RAW files as test corpus97 - Target specific metadata fields:98 - `TileByteCounts` / `StripByteCounts`99 - `TileOffsets` / `StripOffsets`100 - `ImageWidth` / `ImageLength`101 - `BitsPerSample`102 - `OpcodeList3` entries103 - Monitor for crashes, hangs, or memory errors1041053. **Analyze crashes**106 - Check crash logs for OOB read/write patterns107 - Look for heap metadata corruption108 - Identify register control opportunities109 - Document reliable primitives110111### Phase 4: Chain Validation1121131. **End-to-end test**114 - Combine protocol primitive with parser payload115 - Verify the full chain executes without user interaction116 - Test on target device(s)117 - Document success criteria1181192. **Reliability assessment**120 - Run multiple iterations121 - Test across different app versions122 - Check for race conditions123 - Measure success rate124125## Hardening Recommendations126127### Protocol Security128129- **Enforce strict allow-lists** for all linked-device actions130- **Require device pairing proof** (signed payloads) for high-impact fields131- **Bind actions to per-device keys** and reject unknown senders132- **Validate URL schemes** against allow-lists or signed blobs133- **Implement replay protection** with nonces or timestamps134135### Media Pipeline Security136137- **Restrict MIME types** to approved list138- **Explicitly reject RAW/DNG** unless feature is required139- **Isolate parser execution** in sandboxed processes140- **Use memory-safe parsers** where available141- **Implement size limits** to prevent resource exhaustion142143### Parser Hardening144145- **Maintain fuzzing corpora** of malformed files146- **Run regression tests** after every update147- **Enable sanitizers** (ASan, MTE) in test builds148- **Automate crash triage** with symbolicated logs149- **Monitor for heap metadata corruption** patterns150151## Test Case Templates152153### Protocol Test154155```156Test: Linked-device action with unvalidated URL157Setup: Capture legitimate sync action, modify resource_url158Expected: App fetches URL without user interaction159Risk: HIGH - Zero-click remote content delivery160```161162### Parser Test163164```165Test: Malformed DNG with conflicting TileOffsets166Setup: Create DNG with valid headers but invalid offsets167Expected: Parser crash or memory corruption168Risk: HIGH - Memory corruption primitive169```170171### Chain Test172173```174Test: Protocol action → HTML → DNG → Parser crash175Setup: Full chain from protocol to parser176Expected: Zero-click crash on target device177Risk: CRITICAL - Complete exploit chain178```179180## Safety Guidelines181182- **Only test on devices you own or have explicit authorization for**183- **Use isolated test environments** (VMs, test devices)184- **Document all findings** for responsible disclosure185- **Coordinate with vendors** before public disclosure186- **Follow responsible disclosure timelines**187188## References189190- DNGerousLINK: WhatsApp 0-Click Exploits on iOS and Samsung Devices191- CVE-2025-55177: WhatsApp linked-device authentication bypass192- CVE-2025-43300: RawCamera DNG parser vulnerability193- CVE-2025-21043: Samsung vendor parser out-of-bounds write194195## Output Format196197When providing audit results, use this structure:198199```200# Audit Report: [Target Application]201202## Executive Summary203[Brief overview of findings]204205## Attack Surface Analysis206- Protocol components: [list]207- Parser components: [list]208- Trust boundaries: [list]209210## Test Results211| Test ID | Component | Result | Risk |212|---------|-----------|--------|------|213| T-001 | Protocol | PASS | HIGH |214| T-002 | Parser | FAIL | MEDIUM |215216## Recommendations2171. [Priority 1]2182. [Priority 2]2193. [Priority 3]220221## Technical Details222[Detailed findings with reproduction steps]223```224225## Next Steps226227After initial audit:2281. Prioritize findings by risk and exploitability2292. Create detailed reproduction cases for critical issues2303. Develop hardening patches or mitigations2314. Plan responsible disclosure timeline2325. Schedule follow-up testing after fixes