]> git.ipfire.org Git - thirdparty/hostap.git/commit
EAP-pwd server: Verify received scalar and element
authorMathy Vanhoef <mathy.vanhoef@nyu.edu>
Sun, 31 Mar 2019 15:13:06 +0000 (17:13 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 9 Apr 2019 14:11:15 +0000 (17:11 +0300)
commit70ff850e89fbc8bc7da515321b4d15b5eef70581
treed618db98c2fa036c31bf9f6a59a0f9a6a5fcf1d8
parentac8fa9ef198640086cf2ce7c94673be2b6a018a0
EAP-pwd server: Verify received scalar and element

When processing an EAP-pwd Commit frame, the peer's scalar and element
(elliptic curve point) were not validated. This allowed an adversary to
bypass authentication, and impersonate any user if the crypto
implementation did not verify the validity of the EC point.

Fix this vulnerability by assuring the received scalar lies within the
valid range, and by checking that the received element is not the point
at infinity and lies on the elliptic curve being used. (CVE-2019-9498)

The vulnerability is only exploitable if OpenSSL version 1.0.2 or lower
is used, or if LibreSSL or wolfssl is used. Newer versions of OpenSSL
(and also BoringSSL) implicitly validate the elliptic curve point in
EC_POINT_set_affine_coordinates_GFp(), preventing the attack.

Signed-off-by: Mathy Vanhoef <mathy.vanhoef@nyu.edu>
src/eap_server/eap_server_pwd.c