AirPods fast connect security vulnerability
blogs.gnome.org
blogs.gnome.org
> With this trick, they can establish that both devices are speaking the Fast Connect protocol without violating the Bluetooth specification, and then go on to exchange 3 more back-and-forth messages, negotiating all the things necessary to fully connect the two devices.
> The fact that this only takes 4 messages back-and-forth in total is what makes Fast Connect fancy, because usually in Bluetooth the phase of wiring up the individual channels for a connection is quite a complex negotiation and involves sending various SDP descriptors that describe which protocols/features both sides support.
Two devices in the same room communicating over even a very narrow slice of the electromagnetic spectrum could exchange many thousands of messages per second. What is it about Bluetooth that causes each message to take a hundred milliseconds rather than, say, a microsecond? What is setting the timescale for this process?
* How frequently the advertising device is sending out a beacon (for WiFi the typical beacon is every 100ms which should be similar for BT but it’s been a while since I worked on either)
* there may be multiple advertising channels (I think BT smartly picked 1 or a very small number but annoyingly WiFi didn’t restrict the channel the beacon could be sent on which is a disaster for 5ghz since there’s so many - not sure if they fixed it in 6ghz)
* for back compat, the beacon is sent at the slowest speed of the protocol as is the handshake. So for example your 600mbps WiFi channel actually beacons and does the handshake at 10mbps (or whatever the negotiation speed is specified to be) because you need to start at the minimum speed to negotiate the higher speed while retaining back compat. Similar thing happens with USB3.0 which does a USB1 initial handshake.
* noise in the environment can cause PHY retransmissions to be needed.
So basically PHY handshaking to determine what capability exists on both sides to know which PHY protocol to talk to each other.
Or in short: It’s caused by saving energy and interference.
128 bytes at Bluetooth 1’s 1mbit speed is 1ms.
802.11 beacons are sent at the lowest basic rate configured for the network, which in the old days was 1 Mbit/sec, but it's entirely possible to simply not advertise that in the beacon (it's commonly done in larger networks, as you don't want clients to be eating airtime by sending such slow packets), and then the beacon goes out at whatever higher rate. The association can be done at any rate the client wants to, as far as I know, as long as it is listed in the beacon.
The complete lack of network-driven roaming, which AFAIK is still missing from wifi 6/E, must be frustrating to large-scale network designers and admins.
Fine, but then the immediate question is: why is it sending out a beacon so rarely?
> for back compat, the beacon is sent at the slowest speed of the protocol as is the handshak
Fine, but then why was the protocol ever so slow? Electromagnetism hasn’t changed much.
> there may be multiple advertising channels
Fine, but why are they all so slow?
From what I remember, advantage of affected Beats devices which also use same chip is they can actually be updated from the beats app on Android
One of the support team members in an Apple Store once suggested: you need to leave AirPods connected to the Mac inserted into open case, which is plugged and charging for about 30 minutes to upgrade the firmware. Though in my experience there is definitely a random factor in play for such an upgrade. Moreover I have an impression that even Apple Store employees sometimes have very vague idea how Apple products interplay with any other Apple product excepting the iPhone. Two times I had hardware issue with 1st and 2nd gen Airpods they were very confused that I don't use those with iPhone but with a Mac and Android only.
One didn't upgrade. Annoying.
I left it for about 4 hours.
Anyway, you can force an upgrade by hitting "forget this device" and then re-pairing it. As soon as you do, the firmware will upgrade.
Select the AirPods under Bluetooth on your iPhone, firmare version is shown as "Version".
To be fair, even on iOS you can't manually trigger a firmware update as Apple in their infinite wisdom decided that's too complicated for the average user, and to make things simpler for them, firmware updates just happen automagically™.
When do they happen? Whenever they fee like it. Just keep your phoner and Airpods close to each other and it will happen eventually, some time. Or not, if you have an error that causes the process to silently fail and the user will have no idea and no way to manually trigger the update or debug it, because that would ruin the AM (Apple Magic™).
It absolutely is too complicated for the average user.
No sarcasm whatsoever. 100% sincere comment. ‘The average user’ has utterly no clue about this sort of thing, and nor should they be expected to.
> even on iOS you can't manually trigger a firmware update as
Having the option to manually trigger an update, and seeing the progress would not affect the average user at all.
https://support.apple.com/en-us/106340
The US version shows different version numbers for the latest firmware, e.g. for the Airpods Pro 2nd Gen it's 6F8, while in India it's 6B34.
> ... see if I could get all the functionality working on Linux as well. ... I’ll talk about the specifics in another blog post ...
I am super curious to read when you do write-up about implementation of this functionality in Linux! Thanks for that and I will refresh the blog until that is written :)
You need to connect to a device via bluetooth for 5 mins (e.g. just open case when close to device if it is configured to autoconnect). Then close the case and leave for 15 mins. Then connect again and check version.
Apple products may not be for you.
I get it—95%+ of AirPods users shouldn't have to know about firmware updates. But for those of us who do care about these things, there should be someway to monitor what's happening.
It usually doesn't matter but I have experienced delays in getting AirPods firmware by a couple of days. There could be a time in the future when getting a firmware update ASAP does matter.
It doesn't sound like they could listen in on a phone call you're having without your knowledge, or even an audio stream, since it breaks the original connection, right? So is the worst they could do is come within a pretty short distance of you, scan for your mac address, and the auto-connect and play some noise into your ears? Or is there more?
I suppose you could do something like take over the airpods of a high-level celebrity or politician while they're on a video call, that could be bad (but caught instantly). Anything worse?
Do they?
I often wear one set to transparency when I’m alone and have a podcast going or something. Ideal for something like a grocery store but still leaves me with full awareness. They also detect if I start speaking and automatically pause whatever is playing.
Loud noise suppression does a temporary switchover when a loud noise happens to try and protect your hearing.
it's just fucking with social interaction; maybe that's the point
totally understandable as the "right to be left alone" or privacy is essential but undeniably curtailed when in public.
i hope you can appreciate the collective imperative here and acknowledge that it would be super fucked up if everyone would be wearing headphones in public.
I use mine in noise-cancelling mode all the time, without music/podcasts/anything. But the noise-cancelling is definitely active.
Always when I'm in the subway, along busy streets full of honking and emergency vehicles, and so forth.
Makes urban life much more tolerable.
I believe it is a courtesy to remove one's headphone when talking to another person.
wearing headphones gives way to the assumption that the person is listening to something other than their surroundings; their talking is probably directed at someone on the phone.
hearing aids can be used as headphones as well, but generally aren't.
You’re being an asshole and you need to stop this behavior. Wait until it’s clear someone can’t hear you before making this gesture.
i don't "make them" but i don't feel accepted or heard until they do and this will limit my interactions with them (for better or worse).
> You’re being an asshole and you need to stop this behavior. Wait until it’s clear someone can’t hear you before making this gesture.
seems like you got some things backwards and this is one of them.
This means I can understand a conversation _much_ more clearly if I'm wearing active noise cancelling headphones. Yes, it makes _you_ quieter, but it also means I'm not trying to pick out your speech from complicated background noises.
Social norms change over time; expecting someone to remove headphones will become less of a thing in day to day life.
AirPods Pro 2nd generation supports the Conversation Awareness feature that lowers the volume of what the person is listening to and raises the volume of the person speaking automatically when it's enabled.
Apple is expected to be approved by the FDA for some uses as a hearing aid [1] and they have patents for adding medical monitoring in future AirPods [2].
So when we're talking to someone wearing AirPods as times goes on, we won't know if they actually need the AirPods to assist them in being able to function in the world.
[1]: https://arstechnica.com/gadgets/2024/03/apples-airpods-pro-c...
[2]: https://applemagazine.com/apple-patents-suggest-future-airpo...
It also provides a straightforward avenue for further chains of exploit, if some were known to the attacker, since taking over the bluetooth connection represents a pretty wide channel of opportunity.
Call my a cynic but if that was possible it would be a well known "prank" in the edgier corners of the Internet?
Essentially, you basically have the hard part done for any bugs, you just need to build a device with a little battery, a BT transmitter, and storage; then you've got high quality audio near where anyone is speaking.
6A326 seems to be the version including the fix.
I'm on 6F8, which I presume is for AirPods Pro 2nd gen.
Are there any alternative headphones that solve all three of these well? I just want a headset that works.
I think the codec changes once the microphone is enabled.
https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles
(absolutely there is some codec that apple licenses that you as a linux user don't and don't get etc, this is some profile thing they're doing and honestly that's just the price of linux. Free as in free from HDMI 2.1 support. And fraunhofer, and Dolby, and MPEG-LA licensing. Being willing to pay the $2 per device for the licenses has its perks.)
Such as?
Linux has had functioning AAC, MOV and MP4 drivers for almost a decade at this point. There are actually more codecs that Linux supports that Apple doesn't, like LDAC and APTx.
AAC-ELD is unsupported.
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/14...
> Linux has had functioning AAC, MOV and MP4 drivers for almost a decade at this point.
ok that’s nice but that’s not AAC-ELD. There’s no door prize for “part of the name is the same”, codecs and Bluetooth stream configurations are either supported or not.
It’s also not compatible with open-licensing either way, even though those licenses are commonly breached, ie it’s nonfree at best even if someone hacked together a toolchain, which was my point about the “free as in free from hdmi 2.1” part. Fraunhofer says you need to pay for a license even if you choose to pirate it anyway. Linux, by default, does not pay that for you (naturally).
> AAC-ELD is unsupported.
So is Airdrop. Pack up your crocodile tears and take them to a community that will do Apple's job for them. This is what you get for buying Apple products and insisting that the community reverse-engineers it to the quality of a documented and community-friendly platform. Blame Linux if you want.
> Fraunhofer says you need to pay for a license even if you choose to pirate it anyway.
Given that Linux supports DisplayPort alt-mode, this is kinda a nothingburger. Maybe my use-case is unique and contrarian, but I have never run into a situation with my laptop or desktop where I was gated from a usable experience because I didn't have HDMI 2.1. Hopefully nobody calls me out in the conference room for not showing my PowerPoint in HDR.
Oh no, I'll never get that 0.5 seconds back... /s