Bug 1131874 - (CVE-2019-9499) VUL-0: CVE-2019-9499: wpa_supplicant: EAP-pwd peer missing commit validation for scalar/element
(CVE-2019-9499)
VUL-0: CVE-2019-9499: wpa_supplicant: EAP-pwd peer missing commit validation ...
Status: RESOLVED FIXED
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P3 - Medium : Normal
: ---
Assigned To: Clemens Famulla-Conrad
Security Team bot
https://smash.suse.de/issue/229080/
CVSSv3:SUSE:CVE-2019-9499:6.8:(AV:A/A...
:
Depends on: 1131289 1131644
Blocks:
  Show dependency treegraph
 
Reported: 2019-04-08 14:59 UTC by Marcus Meissner
Modified: 2022-05-26 10:18 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Marcus Meissner 2019-04-10 15:23:43 UTC
public via oss-sec

Published: April 10, 2019
Identifiers:
- CVE-2019-9497 (EAP-pwd server not checking for reflection attack)
- CVE-2019-9498 (EAP-pwd server missing commit validation for
  scalar/element)
- CVE-2019-9499 (EAP-pwd peer missing commit validation for
  scalar/element)
Latest version available from: https://w1.fi/security/2019-4/

Vulnerability

EAP-pwd implementation in hostapd (EAP server) and wpa_supplicant (EAP
peer) was discovered not to validate the received scalar and element
values in EAP-pwd-Commit messages properly. This could result in attacks
that would be able to complete EAP-pwd authentication exchange without
the attacker having to know the used password.

A reflection attack is possible against the EAP-pwd server since the
hostapd EAP server did not verify that the EAP-pwd-Commit contains
scalar/element values that differ from the ones the server sent out
itself. This allows the attacker to complete EAP-pwd authentication
without knowing the password, but this does not result in the attacker
being able to derive the session key (MSK), i.e., the attacker would not
be able to complete the following key exchange (e.g., 4-way handshake in
RSN/WPA).

An attack using invalid scalar/element values is possible against both
the EAP-pwd server and peer since hostapd and wpa_supplicant did not
validate these values in the received EAP-pwd-Commit messages. If the
used crypto library does not implement additional checks for the element
(EC point), this could result in attacks where the attacker could use a
specially crafted commit message values to manipulate the exchange to
result in deriving a session key value from a very small set of possible
values. This could further be used to attack the EAP-pwd server in a
practical manner. An attack against the EAP-pwd peer is slightly more
complex, but still consider practical. These invalid scalar/element
attacks could result in the attacker being able to complete
authentication and learn the session key and MSK to allow the key
exchange to be completed as well, i.e., the attacker gaining access to
the network in case of the attack against the EAP server or the attacker
being able to operate a rogue AP in case of the attack against the EAP
peer.

While similar attacks might be applicable against SAE, it should be
noted that the SAE implementation in hostapd and wpa_supplicant does
have the validation steps that were missing from the EAP-pwd
implementation and as such, these attacks do not apply to the current
SAE implementation. Old versions of wpa_supplicant/hostapd did not
include the reflection attack check in the SAE implementation, though,
since that was added in June 2015 for v2.5 (commit 6a58444d27fd 'SAE:
Verify that own/peer commit-scalar and COMMIT-ELEMENT are different').


Vulnerable versions/configurations

All hostapd versions with EAP-pwd support (CONFIG_EAP_PWD=y in the build
configuration and EAP-pwd being enabled in the runtime configuration)
are vulnerable against the reflection attack.

All wpa_supplicant and hostapd versions with EAP-pwd support
(CONFIG_EAP_PWD=y in the build configuration and EAP-pwd being enabled
in the runtime configuration) are vulnerable against the invalid
scalar/element attack when built against a crypto library that does not
have an explicit validation step on imported EC points. The following
list indicates which cases are vulnerable/not vulnerable:
- OpenSSL v1.0.2 or older: vulnerable
- OpenSSL v1.1.0 or newer: not vulnerable
- BoringSSL with commit 38feb990a183 ('Require that EC points are on the
  curve.') from September 2015: not vulnerable
- BoringSSL without commit 38feb990a183: vulnerable
- LibreSSL: vulnerable
- wolfssl: vulnerable


Acknowledgments

Thanks to Mathy Vanhoef (New York University Abu Dhabi) for discovering
and reporting the issues and for proposing changes to address them in
the implementation.


Possible mitigation steps

- Merge the following commits to wpa_supplicant/hostapd and rebuild:

  CVE-2019-9497:
  EAP-pwd server: Detect reflection attacks
  
  CVE-2019-9498:
  EAP-pwd server: Verify received scalar and element
  EAP-pwd: Check element x,y coordinates explicitly

  CVE-2019-9499:
  EAP-pwd client: Verify received scalar and element
  EAP-pwd: Check element x,y coordinates explicitly

  These patches are available from https://w1.fi/security/2019-4/

- Update to wpa_supplicant/hostapd v2.8 or newer, once available

-- 
Jouni Malinen                                            PGP id EFC895FA
Comment 2 Marcus Meissner 2020-03-18 08:34:39 UTC
-> new maintainer Clemens
Comment 8 Swamp Workflow Management 2020-11-19 14:28:17 UTC
SUSE-SU-2020:3380-1: An update that fixes 22 vulnerabilities, contains one feature is now available.

Category: security (moderate)
Bug References: 1131644,1131868,1131870,1131871,1131872,1131874,1133640,1144443,1150934,1156920,1166933,1167331,930077,930078,930079
CVE References: CVE-2015-4141,CVE-2015-4142,CVE-2015-4143,CVE-2015-8041,CVE-2017-13077,CVE-2017-13078,CVE-2017-13079,CVE-2017-13080,CVE-2017-13081,CVE-2017-13082,CVE-2017-13086,CVE-2017-13087,CVE-2017-13088,CVE-2018-14526,CVE-2019-11555,CVE-2019-13377,CVE-2019-16275,CVE-2019-9494,CVE-2019-9495,CVE-2019-9497,CVE-2019-9498,CVE-2019-9499
JIRA References: SLE-14992
Sources used:
SUSE Linux Enterprise Server for SAP 15 (src):    wpa_supplicant-2.9-4.20.1
SUSE Linux Enterprise Server 15-LTSS (src):    wpa_supplicant-2.9-4.20.1
SUSE Linux Enterprise Module for Basesystem 15-SP2 (src):    wpa_supplicant-2.9-4.20.1
SUSE Linux Enterprise Module for Basesystem 15-SP1 (src):    wpa_supplicant-2.9-4.20.1
SUSE Linux Enterprise High Performance Computing 15-LTSS (src):    wpa_supplicant-2.9-4.20.1
SUSE Linux Enterprise High Performance Computing 15-ESPOS (src):    wpa_supplicant-2.9-4.20.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 9 Swamp Workflow Management 2020-11-19 20:19:01 UTC
SUSE-SU-2020:3424-1: An update that fixes 19 vulnerabilities, contains one feature is now available.

Category: security (moderate)
Bug References: 1131644,1131868,1131870,1131871,1131872,1131874,1133640,1144443,1150934,1156920,1165266,1166933,1167331
CVE References: CVE-2015-8041,CVE-2017-13077,CVE-2017-13078,CVE-2017-13079,CVE-2017-13080,CVE-2017-13081,CVE-2017-13082,CVE-2017-13086,CVE-2017-13087,CVE-2017-13088,CVE-2018-14526,CVE-2019-11555,CVE-2019-13377,CVE-2019-16275,CVE-2019-9494,CVE-2019-9495,CVE-2019-9497,CVE-2019-9498,CVE-2019-9499
JIRA References: SLE-14992
Sources used:
SUSE Linux Enterprise Server 12-SP5 (src):    wpa_supplicant-2.9-23.3.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 10 Swamp Workflow Management 2020-11-26 20:40:23 UTC
openSUSE-SU-2020:2053-1: An update that fixes 22 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1131644,1131868,1131870,1131871,1131872,1131874,1133640,1144443,1150934,1156920,1166933,1167331,930077,930078,930079
CVE References: CVE-2015-4141,CVE-2015-4142,CVE-2015-4143,CVE-2015-8041,CVE-2017-13077,CVE-2017-13078,CVE-2017-13079,CVE-2017-13080,CVE-2017-13081,CVE-2017-13082,CVE-2017-13086,CVE-2017-13087,CVE-2017-13088,CVE-2018-14526,CVE-2019-11555,CVE-2019-13377,CVE-2019-16275,CVE-2019-9494,CVE-2019-9495,CVE-2019-9497,CVE-2019-9498,CVE-2019-9499
JIRA References: 
Sources used:
openSUSE Leap 15.1 (src):    wpa_supplicant-2.9-lp151.5.10.1
Comment 11 Swamp Workflow Management 2020-11-27 11:17:59 UTC
openSUSE-SU-2020:2059-1: An update that fixes 22 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1131644,1131868,1131870,1131871,1131872,1131874,1133640,1144443,1150934,1156920,1166933,1167331,930077,930078,930079
CVE References: CVE-2015-4141,CVE-2015-4142,CVE-2015-4143,CVE-2015-8041,CVE-2017-13077,CVE-2017-13078,CVE-2017-13079,CVE-2017-13080,CVE-2017-13081,CVE-2017-13082,CVE-2017-13086,CVE-2017-13087,CVE-2017-13088,CVE-2018-14526,CVE-2019-11555,CVE-2019-13377,CVE-2019-16275,CVE-2019-9494,CVE-2019-9495,CVE-2019-9497,CVE-2019-9498,CVE-2019-9499
JIRA References: 
Sources used:
openSUSE Leap 15.2 (src):    wpa_supplicant-2.9-lp152.8.3.1
Comment 12 Clemens Famulla-Conrad 2021-02-10 08:18:58 UTC
wpa_supplicant was updated to 2.9 which include this fix.
Comment 15 Swamp Workflow Management 2022-05-26 10:18:23 UTC
SUSE-SU-2022:1853-1: An update that fixes 20 vulnerabilities, contains one feature is now available.

Category: security (important)
Bug References: 1131644,1131868,1131870,1131871,1131872,1131874,1133640,1144443,1156920,1165266,1166933,1167331,1182805,1194732,1194733
CVE References: CVE-2015-8041,CVE-2017-13077,CVE-2017-13078,CVE-2017-13079,CVE-2017-13080,CVE-2017-13081,CVE-2017-13082,CVE-2017-13086,CVE-2017-13087,CVE-2017-13088,CVE-2018-14526,CVE-2019-11555,CVE-2019-13377,CVE-2019-9494,CVE-2019-9495,CVE-2019-9497,CVE-2019-9498,CVE-2019-9499,CVE-2022-23303,CVE-2022-23304
JIRA References: SLE-14992
Sources used:
SUSE OpenStack Cloud Crowbar 9 (src):    wpa_supplicant-2.9-15.22.1
SUSE OpenStack Cloud Crowbar 8 (src):    wpa_supplicant-2.9-15.22.1
SUSE OpenStack Cloud 9 (src):    wpa_supplicant-2.9-15.22.1
SUSE OpenStack Cloud 8 (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server for SAP 12-SP4 (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server for SAP 12-SP3 (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server 12-SP4-LTSS (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server 12-SP3-LTSS (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server 12-SP3-BCL (src):    wpa_supplicant-2.9-15.22.1
SUSE Linux Enterprise Server 12-SP2-BCL (src):    wpa_supplicant-2.9-15.22.1
HPE Helion Openstack 8 (src):    wpa_supplicant-2.9-15.22.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.