[prev in list] [next in list] [prev in thread] [next in thread]
List: openbsd-tech
Subject: Re: 3 small net80211 fixes
From: Stefan Sperling <stsp () openbsd ! org>
Date: 2011-02-21 12:12:16
Message-ID: 20110221121216.GA26692 () ted ! stsp ! name
[Download RAW message or body]
On Mon, Feb 21, 2011 at 12:57:08PM +0100, Damien Bergamini wrote:
> | Index: ieee80211_pae_output.c
> | ===================================================================
> | RCS file: /cvs/src/sys/net80211/ieee80211_pae_output.c,v
> | retrieving revision 1.16
> | diff -u -p -r1.16 ieee80211_pae_output.c
> | --- ieee80211_pae_output.c 5 Jun 2010 15:54:35 -0000 1.16
> | +++ ieee80211_pae_output.c 20 Feb 2011 17:55:51 -0000
> | @@ -417,7 +417,6 @@ ieee80211_send_4way_msg3(struct ieee8021
> | frm = ieee80211_add_rsn(frm, ic, ic->ic_bss);
> | /* encapsulate the GTK */
> | frm = ieee80211_add_gtk_kde(frm, ni, k);
> | - LE_WRITE_6(key->rsc, k->k_tsc);
> | /* encapsulate the IGTK if MFP was negotiated */
> | if (ni->ni_flags & IEEE80211_NODE_MFP) {
> | frm = ieee80211_add_igtk_kde(frm,
> | @@ -427,6 +426,9 @@ ieee80211_send_4way_msg3(struct ieee8021
> | info |= EAPOL_KEY_ENCRYPTED | EAPOL_KEY_SECURE;
> | } else /* WPA */
> | frm = ieee80211_add_wpa(frm, ic, ic->ic_bss);
> | +
> | + /* RSC = last transmit sequence number for the GTK */
> | + LE_WRITE_6(key->rsc, k->k_tsc);
> |
> | /* write the key info field */
> | BE_WRITE_2(key->info, info);
>
>
> nack. you'll get a null deref with wpa1 (k is not initialized).
> with wpa1, message 3/4 of the 4-way handshake does not carry the
> group key (it is sent in message 1/2 of the group key handshake
> that follows the 4-way handshake instead).
> the TSC of the pairwise key is always 0 in our case, which is
> the reason why it is not set here, but used when receiving
> msg 3/4 since other implementations may use non-zero values.
Ah, that makes sense. Thanks for clarifying.
I'll commit the others when Miod has acked them.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic