George0Papasotiriou/CVE-2026-0101-BLE-Address-Spoofing-via-Weak-Resolvable-Private-Address
GitHub: George0Papasotiriou/CVE-2026-0101-BLE-Address-Spoofing-via-Weak-Resolvable-Private-Address
这是一个演示低功耗蓝牙外设因缺少 RPA 重放保护而遭受地址欺骗攻击的概念验证项目。
Stars: 0 | Forks: 0
## CVE-2026-0101 – 通过弱可解析私有地址进行 BLE 地址欺骗
### **程序代码(使用 bleak 模拟的 Python 代码)**
```
# ble_peripheral_sim.py - 具有弱 RPA 验证的模拟 BLE 外围设备
import asyncio, random, hashlib
from bleak import BleakServer, BleakScanner
# (简化版 - 我们将使用一个基本的 socket 来模拟 BLE 绑定)
# 存储已绑定的 IRK (Identity Resolving Key)
irk = b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10'
def resolve_rpa(rpa, irk):
# This is a stub: real resolution uses AES-128; vulnerability: attacker can brute-force or replay
# Assume the peripheral accepts any RPA that decrypts to a known hash without replay protection.
return True # always accept for demo
# 模拟外围设备:等待连接,检查 RPA,如果解析成功,则信任。
print("Peripheral running, accepting any RPA...")
```
# CVE-2026-0101 – 通过重放可解析私有地址进行 BLE 欺骗

## 概述
使用可解析私有地址(RPA)的低功耗蓝牙(BLE)外设未能实现重放缓存。攻击者一旦观察到有效的 RPA,就能断开已绑定设备的连接,并使用相同的 RPA 重新连接,从而冒充受信任的设备。
## 漏洞详情
- **类型:** 身份验证绕过 / 重放攻击
- **影响:** 未经授权的访问,从 BLE 外设(医疗设备、智能锁)窃取数据。
- **根本原因:** 外设不跟踪最近使用的 RPA 或不强制执行有限的生命周期,从而允许在同一隐私时间间隔内重放捕获的地址。
## 漏洞利用演示
运行模拟:
```
python ble_peripheral_sim.py
# 在另一个 terminal 中:
python exploit_ble_spoof.py
```
该漏洞利用程序会捕获广播的 RPA,并以受信任设备的身份重新连接。
标签:Maven, Python, 无后门, 漏洞验证, 物联网, 蓝牙, 身份认证绕过, 逆向工具, 重放攻击