Blasting Past WebP - An analysis of the NSO BLASTPASS iMessage exploit
Codecs, Memory Safety, and Analysis Tools
- Several comments argue that image/audio/video codecs are especially ill-suited to C/C++ and should now be written in memory-safe languages like Rust, seen as a “perfect use case” due to performance + safety.
- Others push back on “Rust cargo cult” rhetoric but still agree: new internet-facing parsers should not be written in unsafe languages.
- Static analyzers and fuzzing are viewed as necessary but insufficient: libwebp was heavily fuzzed (including via OSS-Fuzz) yet this bug still slipped through. Over-reliance on fuzzing is criticized.
File Formats, WebP, and Attack Surface
- Discussion of file-type spoofing: extensions and magic headers are both weak trust signals; one proposal suggests embedded signatures over the payload, but others note attackers can sign malicious data too.
- WebP’s design is criticized: separate lossy/lossless code paths double attack surface; its benefits over JPEG are called marginal, and basing it on a video codec that was soon superseded is seen as a long-term maintenance mistake.
- Broader lesson suggested: formats and parsers are expensive to secure, and that cost should factor into adopting or inventing new formats.
iMessage Threat Model, Filtering, and Lockdown Mode
- Concern that strangers can trigger complex parsing on devices via iMessage; clarification that processing occurs in a heavily sandboxed user process (BlastDoor), with this exploit chaining multiple bugs including an obfuscated sandbox bypass.
- Proposals: “message requests,” “contacts-only” messaging, or disabling automatic media rendering. Critics note this doesn’t eliminate risk from compromised contacts, but others frame it as valuable defense in depth.
- Debate over server-side vs client-side filtering: server-side would require exposing more contact and message metadata, harming privacy.
- Lockdown Mode is repeatedly mentioned: it blocks most attachments/media previews and various “edge-case” features, but also breaks web fonts, RCS, 2G, some sites/apps, and search in Messages. Some find it usable with per-site/app exceptions; others see it as too blunt and want narrower, attachment-focused toggles.
Exploit Sophistication and Ethics
- Commenters are struck by the exploit’s complexity: multiple image formats, heap shaping, large metadata-driven object graphs, NSExpression abuse, and PAC bypass, with parts encrypted to hide the sandbox escape.
- Ethical debate: NSO is described as a mercenary surveillance actor targeting civil society; some invoke export controls and government responsibility.
- Open source is defended as valuable but not a magic shield against well-resourced adversaries; closed vs open doesn’t fundamentally change the existence of such exploits.