
Replica i frame del bus CAN catturati per dimostrare la CVE-2026-21014, mostrando come la mancanza di autenticazione e di controlli di freschezza consenta azioni non autorizzate sulla ECU automobilistica.
# 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 Controller Area Network (CAN) automobilistica non implementa l'autenticazione dei messaggi né controlli di freschezza. Un attaccante con accesso fisico alla porta OBD‑II può catturare un frame legittimo (ad es. sblocco della porta) e riprodurlo in seguito per eseguire azioni non autorizzate.
Esegui la simulazione:
python can_replay_sim.py
Lo script stampa la cattura e il replay di un comando di sblocco.