AirBorne: Wormable zero-click remote code execution (RCE) in AirPlay protocol

by throw0101aon 4/29/2025, 1:09 PMwith 21 comments

by Roguelazeron 4/30/2025, 12:36 AM

Running a parser for a network protocol as root seems like a pretty unnecessarily dumb thing to do. I can't really imagine why any part of airplay would need to run as root; maybe something to do with DRM? Although the DRM daemon `fairplayd` runs as a limited-privilege user `_fpsd`, so maybe not. So bizarre that Apple makes all these cool systems to sandbox code, and creates dozens of privilege-separated users on macOS, and then runs an HTTP server doing plists parsing as an unsandboxed root process.

by throw0101aon 4/29/2025, 1:12 PM

CVE-2025-24252 and CVE-2025-24132 are two examples. Doing a search for "Oligo" in release notes gives various other results, e.g.,

* https://support.apple.com/en-ca/122374

Apple fixed their stuff, but third-parties who used their SDK will have to issue updates as well.

by paulddraperon 4/30/2025, 9:43 PM

Zero-click local network RCE on macOS: 102 points

Article titled "Someone At YouTube Needs Glasses" about YouTube layout: 837 points and rising

Hacker News my a*s

by m463on 4/29/2025, 11:10 PM

macos is pretty promiscuous, and I've noticed random airplay displays (like the neighbors) showing up in the mirroring dropdown in the dock.

wonder if this is a way to get into the stack.

by abhisekon 4/29/2025, 4:13 PM

Very curious about the exploitation of CVE-2025-24252, a use-after-free (UAF) using which they achieved zero-click RCE on MacOS. This is inspite of ASLR and heap exploitation mitigations in place to mitigate such vulnerability classes

https://security.apple.com/blog/towards-the-next-generation-...

by RainyDayTmrwon 4/30/2025, 3:15 AM

Oof. It's parsing and memory corruption again.

by pjmlpon 4/30/2025, 12:59 PM

Basically a collection of use-after-free, stack-based buffer overflow, type confusion, memory exhaustion, integer overflow, NULL pointer dereference, for the most part.

However we all know that the problem is that juniors and interns are the ones that get to write this code, a senior with proper education would never deliver these mistakes into production. /s

by rubatugaon 4/29/2025, 8:06 PM

Good thing I'm still on macOS 12

by waterTanukion 4/30/2025, 11:31 PM

The most important question remains unanswered: would Rust have prevented this?