TheGamingGallifreyan/LiberationPlay-CVE-2025-24132-AirBourne-POC
GitHub: TheGamingGallifreyan/LiberationPlay-CVE-2025-24132-AirBourne-POC
针对 AirPlay 协议 AES CTR 加密栈溢出漏洞的概念验证,目前可导致未防护设备崩溃重启。
Stars: 1 | Forks: 1
# LiberationPlay! CVE-2025-24132 AirBourne POC
CVE-2025-24132 (AirBourne) 的 POC。目前仅触发溢出并导致崩溃。
为了尝试获取我汽车中控屏(head unit)的 root 权限,我研究并整理了关于 Oligo Security 发现的 Airplay 漏洞 CVE-2025-24132(命名为 Airbourne)的所有已知信息。
这是我的第一个逆向工程项目。在开始之前,我从未使用过调试器,Linux 和编码经验也很少,而且直到项目进行到一半时才接触过 MacOS。也许我应该先做一些 CTF 练习……算了。过去几个月我断断续续地在这个项目上工作,只是想看看我能不能做到。
获取一个存在漏洞的和一个已修补的二进制文件副本用于对比花了好几个月,然后又花了一个月才让它们在模拟器中运行起来。
但事实证明,在模拟器中不可能访问到易受攻击的代码,因为它需要与逻辑板上的物理 MFi 芯片进行通信。在苦恼了两个月不知道为什么无法触发溢出之后,我意识到了问题所在。通过修补掉对 MFi 芯片响应的检查,并用垃圾数据填充本该返回的内容,我成功地“肢解”了二进制文件。这让我终于能够触发溢出,并对其有了足够的了解,从而在真实系统上引发崩溃。
# AES_CTR_Update
溢出存在于 AES CTR 加密处理中。SETUP 数据包中传入的加密密钥大小未经过检查,并被假设为 16,因此创建了一个大小为 16 的缓冲区。
# 利用
这些崩溃几乎不易察觉,因为服务器通常会立即重启并重新连接,这只会导致 CarPlay 系统上的音频短暂丢失或几秒钟的黑屏。我还没弄清楚它们是如何泄露内存的,因此目前这仅适用于禁用了堆栈保护的设备。
# 待办事项
找到一种泄露内存的方法以绕过堆栈保护。
此方法适用于不需要任何授权的 CarPlay 设备或 AirPlay 设备。如果需要先配对 PIN 码,则此方法无效,因为涉及更多尚未实现的配对步骤。
对于基于蓝牙的设备,为了避免处理蓝牙配对所有繁琐的步骤,你可以直接下载像 Pyto 这样的应用程序,像我一样直接在手机上运行脚本。这要容易得多。
# 已知易受攻击/已修补的设备
我会在发现已知修补设备时将其添加到这里。
所有支持 Airplay 的 Onyko AV 接收器应该都易受此攻击。我的测试设备是 TX-NR656,它没有任何堆栈保护。
固件版本 3.1 之前的 Creston DM-NAX-8ZSA 设备易受攻击且没有 canaries,但 Airplay 进程在容器中运行。
Kia CCNC 中控单元具有适当的堆栈保护,到目前为止我还没能攻破它,但根据系统日志,carplayserver 以 root 权限运行。
标签:AES CTR 溢出, AirBourne, AirPlay 漏洞, Apple MFi, CarPlay 黑客, CVE-2025-24132, IoT 安全, IVI 攻击, Oligo Security, PoC, Web报告查看器, XXE攻击, 二进制分析, 云安全运维, 云资产清单, 内存破坏, 嵌入式安全, 拒绝服务, 暴力破解, 概念验证, 缓冲区溢出, 编程工具, 车机安全, 远程代码执行, 逆向工具, 逆向工程