Anatomy of the 2025 WhatsApp/ImageIO zero-click exploit chain (CVE-2025-55177 + CVE-2025-43300). Research paper plus an interactive web companion with CVE walkthroughs, patch diffs, and hands-on heap/stack labs.
Live site: https://mcs.danielwagner.ro
Paper (PDF): write-primitive-exploits-ios-to-linux-root.pdf
Talk slides: https://mcs.danielwagner.ro/slides (Manim Community deck, 16 scenes, source under manim/)
- Ștefan-Daniel Wagner · co-author
- Dan-Gabriel Oltean · co-author
- Victor-Nicolae Matveev · co-author
- conf. univ. dr. Emil Simion · coordinator (FSA, UNSTPB)
Facultatea de Științe Aplicate, UNSTPB · Master's research project, Metodologia Cercetării Științifice, 2025-2026.
Home. Landing page with a terminal-styled hero, the chain's one-line abstract, a stats strip (CVSS, CWE classes, affected iOS range), feature cards, and a mini timeline of the disclosure window.
Paper reader. Paper sections rendered inline with IEEE-style numbering, cross-references, and figure captions. Sticky progress bar at the top, floating chapter nav on the right, prev/next at the bottom.
Heap lab. Step-by-step heap-overflow walkthrough from Exploit Education Phoenix. Memory pane, gdb pane, and a chunk-level diagram update live as you advance through the steps (benign → overflow → hijack).
CVEs. Structured per-CVE breakdown. For each: advisory, CWE class, affected versions, root cause in two sentences, and a link to the patch-diff page.
.
├── write-primitive-exploits-ios-to-linux-root.pdf final paper (CC BY 4.0)
├── web/ Flask companion site (MIT)
│ ├── app.py
│ ├── requirements.txt
│ ├── templates/
│ └── static/
│ ├── css/
│ ├── js/
│ ├── sections/ pre-rendered paper sections
│ ├── figures/ TikZ SVGs
│ ├── downloads/ PDF served by the site
│ └── generated/ Manim deck bundle (write-primitive-exploits-2026.html)
├── manim/ Manim Community deck source (16 scenes)
│ └── src/slides/ s01..s19 scene files
├── resources/ bibliography (open-access local copies + links)
│ └── README.md full reference list with sources
└── docs/screenshots/ screenshots used in this README
Requires Python 3.12+.
cd web
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python app.pyOpen http://localhost:5000. The site is fully static-backed; paper sections, figures, and downloadables are pre-built.
Dual-licensed:



