linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jouni Malinen <j@w1.fi>
To: chaitanya.mgit@gmail.com
Cc: johannes@sipsolutions.net, linux-wireless@vger.kernel.org
Subject: Re: [mac80211] Enforce protected check for unicast robust management frames.
Date: Fri, 22 Aug 2014 12:14:09 +0300	[thread overview]
Message-ID: <20140822091409.GA3263@w1.fi> (raw)
In-Reply-To: <1407783114-5469-1-git-send-email-chaitanya.mgit@gmail.com>

On Tue, Aug 12, 2014 at 12:21:54AM +0530, chaitanya.mgit@gmail.com wrote:
> Enforce the check for protected field for all unicast 
> robust management frames. 

Why? This function is supposed to indicate whether the frame is a robust
action frame and as such, has to have Protected bit set to one. If the
sender (attacker) tries to send the frame unprotected, it will still
need to be caught here.

Rather than enforcing anything, this would add a significant security
vulnerability by breaking PMF more or less completely.

> This removed the dependency on the driver to check for protected
> bit, especially for those drivers who believed the API :-).

Huh.. What is this driver referring to or what do you think the API is
supposed to be doing? ieee80211_is_unicast_robust_mgmt_frame() is a
static function within net/mac80211/rx.c and has only a single caller,
so it cannot really be used by any driver..

> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> @@ -569,6 +569,9 @@ static int ieee80211_is_unicast_robust_mgmt_frame(struct sk_buff *skb)
>  	if (is_multicast_ether_addr(hdr->addr1))
>  		return 0;
>  
> +	if (!ieee80211_has_protected(hdr->frame_control))
> +		return 0;
> +
>  	return ieee80211_is_robust_mgmt_frame(skb);

This looks very incorrect. This would completely break
ieee80211_drop_unencrypted_mgmt() and allow unprotected robust
management frames to be processed.
 
-- 
Jouni Malinen                                            PGP id EFC895FA

  parent reply	other threads:[~2014-08-22  9:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-11 18:51 [mac80211] Enforce protected check for unicast robust management frames chaitanya.mgit
2014-08-13 11:21 ` Krishna Chaitanya
2014-08-22  9:14 ` Jouni Malinen [this message]
2014-08-23 15:32   ` Krishna Chaitanya
2014-08-25  8:24     ` Krishna Chaitanya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140822091409.GA3263@w1.fi \
    --to=j@w1.fi \
    --cc=chaitanya.mgit@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).