ConnMan does not support certificate detail verification
I looked into ConnMan and especially into WPA Enterprise authentication used for example in eduroam and company networks. Currently it seems possible via developer mode to install configuration file for ConnMan, which allows the wpa_supplicant to verify that the authentication server certificate is certified by certain certificate authority (CA). This however leaves an option to perform man-in-the-middle attack and catching the user credentials using different certificate signed by the same CA.
An example of this:
Company's or University's authentication server's certificate is a Thawte's SSL123 certificate signed by Thawte CA. ConnMan profile is configured to verify that the authentication server's certificate is verified by Thawte CA. Because ConnMan does not support certificate detail verification such as for example CN (usually the authentication server name), ConnMan instructs wpa_supplicant to accept any Thawte CA verified certificate. This creates an opportunity to set up man-in-the-middle attack box where some other Thawte signed certificate is used to lure device to connect and send the user credentials to the attacker.
This same problem exists for Android platform and most Linux distributions even if the wpa_supplicant used for connecting to WiFi networks is perfectly capable to do certificate detail and fingerprint checking.
isn't that a bug? did you submit a bug?
dafeujolla ( 2014-03-06 18:46:27 +0200 )edit@dafeujolla I have not submitted it in the ConnMan bug database. This however should be a well-known certificate check problem and it seems that some vendor's have already made patches themselves to cover this (e.g. Google and Chromium). Also this affects UI if WPA Enterprise settings are to be set also manually in the next SailfishOS versions.
Karri Huhtanen ( 2014-03-07 08:50:16 +0200 )edit@karri-huhtanen Do you have link to the patches google made? I couldn't find it. I had a closer look in the code of connman and wpa_supplicant and it shouldn't be too difficult to add certificate detail verification to connman. I think it can be done in the same way as the support for an anonymous identitiy was added in this commit: http://git.kernel.org/cgit/network/connman/connman.git/commit/?id=1d5429cf57aad9feb9a33f8a1327a88298b7976d&context=1
rincewind ( 2016-08-01 13:46:36 +0200 )editthere is not even an upstream bug report (you can't just register and create one), so which is the best way to make upstream aware of this security issue?
tad ( 2016-10-10 12:10:25 +0200 )edit