|Affected Products:||Canary Mail for iOS and MacOS versions 3.20 and 3.21, MailCore2 library version 0.6.4|
|Class:||Improper Certificate Validation (CWE-295)|
|Discovered by:||Rayd Debbas|
CENSUS identified that the Canary Mail software in versions 3.20 and 3.21 (and possibly previous versions) is missing a certificate validation check when performing an IMAP connection configured with STARTTLS. This vulnerability allows man-in-the-middle attackers to collect a victim user's email credentials (while these are communicated to the IMAP service), to access email messages and perform other IMAP actions to the victim account, but also to modify email messages while in-transit to Canary Mail. CENSUS strongly recommends to iOS and MacOS users of the Canary Mail software to update to version 3.22, as this version carries a fix for the aforementioned vulnerability. The same vulnerability also affects other software that are based on the MailCore2 library (including version 0.6.4). A patch for the library is publicly available, however this has not been incorporated yet into an official library release.
The recent key reinstallation attacks (KRACK) against the WPA2 protocol revealed how an adversary can easily eavesdrop, and in some cases
tamper, a Wi-Fi connection secured by the WPA2 protocol. At the same
time, Wi-Fi automatic association attacks achieve a similar result
(man-in-the-middle position) not by attacking the WPA2 protocol directly
but by enforcing Wi-Fi clients to join a rogue Access Point.
Google promotes the SafetyNet Attestation API as a tool to query and assess the integrity status of an
Android device. The official documentation, leaves no doubt that the main purpose of the
SafetyNet Attestation API is to provide device integrity information to
the server counterpart of mobile applications. The server counterpart may choose to limit the functionalities
available to an app, if it's running on a device with compromised integrity protections.
However, in the past year CENSUS has performed a number of assessments to mobile apps
where SafetyNet was also used as an application integrity security check.
Furthermore, best practices documents such as ENISA's "Smartphone Secure Development Guidelines" document of December 2016, clearly propose the use of SafetyNet as a measure to check an app's integrity status (see page 23).
To the best of our knowledge, Google has not publicly released any detailed official documentation
or recommended the use of the SafetyNet Attestation API for application integrity purposes.