HotWire: real-world impersonation and discharge attacks on electric vehicle charging systems

USENIX WOOT '26

HOTWIRE

Real-world impersonation and discharge attacks on electric vehicle charging systems.

With about $180 of off-the-shelf hardware, we steal charging billed to a victim, and drain an EV's battery until it won't start — demonstrated on production cars and live public charging networks.

The attacks

One protocol flaw, two ways to abuse it

DIN 70121 — the protocol behind most DC fast charging — has no encryption and no authentication. Everything is plaintext, and the systems built on it trust the message over physical reality.

A1 — Impersonation

Steal charging

Autocharge bills a car automatically by its EVCCID — which is just the plaintext PLC MAC address. We harvest it in under 10 seconds, then replay it to charge anywhere, billed to the victim.

  • Harvest the static identifier from a parked car
  • Replay it — no victim present, no station tampering
  • A permanent stolen credential (the ID never changes)
A2 — Forced discharge

Drain the battery

During PreCharge, the charger reports a voltage the car's BMS should verify before closing contactors. Our rogue charger simply claims the right voltage — the pins are at 0 V — and a vulnerable BMS connects the battery to our load.

  • Forge EVSEPresentVoltage in PreChargeRes
  • Vulnerable BMS closes contactors → battery discharges
  • No driver alert, no autonomous shutoff

Key findings

Validated on real cars and live networks

88%
of public stations run with no TLS
7/7
networks had no fraud detection
3.2s
to authorize a spoofed session
3 of 4
vehicles vulnerable to forced discharge
$180
cost of the attacker's hardware
1.25 kWh
stolen in a single 30-min session
4
production EV models tested
7
commercial charging networks

Forced discharge — comparative results

VehicleVulnerable?Discharge (est.)Driver alert
Tesla Model YNo — HW voltage sensor
Luxgen n7Yes60 min / ~1.25 kWhNone
CMC (unpublished)Yes~2 min / ~0.05 kWhNone
Hyundai IONIQ 6Yes~26 min / ~0.5 kWhNone

Energy is estimated from the load bank's rated power and discharge duration — protocol-reported, not externally metered. Tesla refused to close contactors and logged "External voltage verification failed."

How it works

Trust-in-protocol vs trust-in-physics

The root cause is architectural: a safety- or billing-critical decision is gated on a message instead of a physical measurement.

A1 — replay an identifier

EV → EVSE SessionSetupReq { EVCCID: aabbccddeeff }
backend match EVCCID → victim account
backend authorize + bill victim ⚠ no extra check

A2 — forge a voltage

EV → EVSE PreChargeReq { EVTargetVoltage: 350V }
rogue EVSE PreChargeRes { EVSEPresentVoltage: 350V }
reality DC pins = 0V, resistive load attached
BMS trusts message → close contactors → discharge ⚠

Demos

See the attacks in action

Short clips of the live attacks. Videos drop in automatically once added to docs/media/ — see that folder's README.

Demo video — coming soon
A1 — Impersonation

A spoofed EVCCID authorizes a real charging session in 3.2 s, billed to the victim.

Demo video — coming soon
A2 — Forced discharge

A rogue EVSE forces a production EV to discharge its battery into a resistive load.

FAQ

Common questions

Isn't A1 just a replay attack?

The novelty is the real-world result: it's the first end-to-end demonstration against live commercial Autocharge networks, with a single device (no two-station relay, no victim presence) — and the finding that all seven networks we tested have no fraud detection, so a statically harvested identifier is a repeatable, untraceable credential.

Does ISO 15118-20 / Plug-and-Charge fix this?

It fixes A1 — PKI binds identity cryptographically, so replay fails. It does not inherently fix A2: if the BMS still trusts an authenticated PreCharge message over its own sensors, the battery still closes contactors. Crypto does not substitute for a physical measurement.

Only four vehicles — is this generalizable?

We deliberately chose architectural diversity (BMS from Tesla in-house, Hyundai Mobis, and Delta Electronics) over sample size. It's an architectural insight, not a prevalence estimate — and a concurrent independent study (DrainDead) found the same flaw across a separate European fleet.

Did you damage any battery? Was this safe and legal?

No damage. We used only our own pre-registered accounts (self-paid, 1.25 kWh), tested on private property with our own or manufacturer-provided vehicles, with state-of-charge interlocks, emergency disconnect, and continuous monitoring. The work was IRB-approved and responsibly disclosed before publication.

How do you know the energy numbers without a meter?

All electrical values are protocol-reported, and energy is estimated from the load bank's rated power and the discharge duration — we state this explicitly and never claim externally metered values. The vulnerability is the contactor closing and current flowing; the exact wattage is secondary.

Paper, code & team

HotWire @ USENIX WOOT '26

Kuan Yu (Jason) Chen · NTUST
Md Hasan Shahriar · Virginia Tech
Wen Wei Li · NTUST
Shi Cho Cha · NTUST
Wenjing Lou · Virginia Tech
Responsible disclosure. We disclosed through a coordinated program before publication. Two of the four manufacturers have committed to over-the-air firmware fixes that add hardware-based voltage verification. We release the toolkit and de-identified data, and withhold specific vehicle identifiers and station details that could enable real-world abuse.
@inproceedings{hotwire2026, title = {HotWire: Real-World Impersonation and Discharge Attacks on Electric Vehicle Charging Systems}, author = {Chen, Kuan Yu and Shahriar, Md Hasan and Li, Wen Wei and Cha, Shi Cho and Lou, Wenjing}, booktitle = {20th USENIX Workshop on Offensive Technologies (WOOT '26)}, year = {2026} }