As the driver enters the car after unlocking it with an NFC card, the thief begins exchanging messages between the weaponized Teslakee and the car. Before the driver has even driven away, the messages enroll a key of the thief’s choice with the car. From then on, the thief can use the key to unlock, start, and turn off the car. There is no indication from the in-car display or the legitimate Tesla app that anything is amiss.
Herfurt has successfully used the attack on Tesla Models 3 and Y. He hasn’t tested the method on new 2021+ facelift models of the S and X, but he presumes they are also vulnerable because they use the same native support for phone-as-a-key with BLE.
Tesla didn’t respond to an email seeking comment for this post.
The vulnerability is the result of the dual roles played by the NFC card. It not only opens a locked car and starts it; it’s also used to authorize key management.
The attack exploits Tesla’s way of handling the unlock process via NFC card. This works because Tesla’s authorization method is broken. There is no connection between the online account world and the offline BLE world. Any attacker who can see the Bluetooth LE advertisements of a vehicle may send VCSEC messages to it. This would not work with the official app, but an app that is also able to speak the Tesla-specific BLE protocol … allows attackers to enroll keys for arbitrary vehicles. Teslakee will communicate with any vehicle if it is told to.
Herfurt created Teslakee as part of Project Tempa, which “provides tools and information about the VCSEC protocol used by Tesla accessories and the Tesla app in order to control vehicles via Bluetooth LE.” Herfurt is a member of Trifinite Group, a research and hacker collective that focuses on BLE.
The attack is easy enough in technical aspects to carry out, but the mechanics of staking out an unattended vehicle, waiting for or forcing the owner to unlock it with an NFC card, and later catching up with the car and stealing it can be cumbersome. This method isn’t likely to be practical in many theft scenarios, but for some, it seems viable.
With Tesla maintaining radio silence on this weakness, there’s only so much that concerned owners can do. One countermeasure is to set up Pin2Drive to prevent thieves who use this method from starting a vehicle, but it will do nothing to prevent the thief from being able to enter the car when it’s locked. Another protection is to regularly check the list of keys authorized to unlock and start the car through a process Tesla calls “whitelisting.” Tesla owners may want to perform this check after giving an NFC card to an untrusted mechanic or valet parking attendant.
Based on the lack of response Herfurt said he received from Tesla regarding vulnerabilities he uncovered in 2019 and again last year, he’s not holding his breath that the company will address the issue.
“My impression was that they always already knew and would not really change stuff,” he said. “This time, there is no way that Tesla does not know about that poor implementation. So for me, there was no point in talking to Tesla beforehand.”
This story originally appeared on Ars Technica.