b43 contains the following code (with - because I copied it from a patch
I have that removes it):

-                       if (skb->data[wlhdr_len + 3] & (1 << 5)) {
-                               /* The Ext-IV Bit is set in the "KeyID"
-                                * octet of the IV.
-                                */
-                               iv_len = 8;
-                               icv_len = 8;
-                       } else {
-                               iv_len = 4;
-                               icv_len = 4;
-                       }
-                       if (unlikely(skb->len < (wlhdr_len + iv_len + 
icv_len))) {
-                               b43dbg(dev->wl,
-                                      "RX: Packet size underrun (4)\n");
-                               goto drop;
-                       }
-                       /* Remove the IV */
-                       memmove(skb->data + iv_len, skb->data, wlhdr_len);
-                       skb_pull(skb, iv_len);
-                       /* Remove the ICV */
-                       skb_trim(skb, skb->len - icv_len);

This means that it is vulnerable to CCMP replay attacks when hardware
crypto is used because the hardware doesn't verify the CCMP PN and
mac80211 cannot.

The patch quoted above fixes this but does a bunch of changes in
mac80211 too and needs to get some review. I hope we can get to that
before 2.6.24 so that b43 can finally go mainline.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to