The main patches issued were to fix:
- A bug in the way COVIDSafe reads Bluetooth messages on iPhones. This meant that the new, longer, encrypted messages were sometimes garbled and thus some iPhone-to-iPhone contacts would not be recorded. However it was possible for the same phones to connect again in a different way that did record properly.
- A patch for CVE-2020-14292, a vulnerability allowing for long-term tracking of Android devices.
- COVIDSafe on iPhones can now download a new TempID when the phone is locked.
- Encryption was implemented in a manner that did not prevent interference between multiple threads. This sometimes crashed the app, and could possibly lead to garbled encryptions or leaked information.
The researchers who detailed these bugs on GitHub were Chris Culnane of State of IT, Ben Frengley, Eleanor McMurtry, Jim Mussared, Yaakov Smith, Vanessa Teague of Thinking Cybersecurity, and Alwen Tiu of the Australian National University.
The advisory pointed out that the Bluetooth messages sent by COVIDSafe v2 were much longer than those of the previous version and a bug that was already present garbled some transactions between iPhones. This flaw was found by John Evershed of Project Computing.
A third flaw, similar to CVE-2020-12856, affected versions of the COVIDSafe app from 1.0.21 and earlier. This allowed an attacker to obtain the Bluetooth identity address and also to perform silent bonding in some cases.
The fourth problem was that locked iPhones could not receive new TempIDs for COVIDSafe, a flaw found by Richard Nelson. This was fixed in COVIDSafe versions 1.6 onwards.
Finally, the researchers wrote that a critical concurrency flaw had been found in encryption code version 1.0.18 used in COVIDSafe; a single Cipher instance was shared across different threads without being synchronised. This affected Android versions 1.0.18 to 1.0.27.
This bug was notified to the Digital Transformation Agency and the Australian Signals Directorate earlier this month.
The researchers thanked the DTA and ASD for patching the encryption issue.
"[We'd] encourage the DTA to address the Bluetooth tracking problem and the iPhone logging failure urgently," they wrote. "We'd also like to thank the large and active community of Australian techies who have examined, discussed, and tried to correct the code."