VYPR
Unrated severityNVD Advisory· Published May 24, 2012· Updated Apr 29, 2026

CVE-2011-2517

CVE-2011-2517

Description

Multiple buffer overflows in net/wireless/nl80211.c in the Linux kernel before 2.6.39.2 allow local users to gain privileges by leveraging the CAP_NET_ADMIN capability during scan operations with a long SSID value.

Affected products

5

Patches

1
208c72f4fe44

nl80211: fix check for valid SSID size in scan operations

https://github.com/torvalds/linuxLuciano CoelhoMay 18, 2011via nvd-ref
1 file changed · +2 2
  • net/wireless/nl80211.c+2 2 modified
    @@ -3406,12 +3406,12 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
     	i = 0;
     	if (info->attrs[NL80211_ATTR_SCAN_SSIDS]) {
     		nla_for_each_nested(attr, info->attrs[NL80211_ATTR_SCAN_SSIDS], tmp) {
    +			request->ssids[i].ssid_len = nla_len(attr);
     			if (request->ssids[i].ssid_len > IEEE80211_MAX_SSID_LEN) {
     				err = -EINVAL;
     				goto out_free;
     			}
     			memcpy(request->ssids[i].ssid, nla_data(attr), nla_len(attr));
    -			request->ssids[i].ssid_len = nla_len(attr);
     			i++;
     		}
     	}
    @@ -3572,14 +3572,14 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
     	if (info->attrs[NL80211_ATTR_SCAN_SSIDS]) {
     		nla_for_each_nested(attr, info->attrs[NL80211_ATTR_SCAN_SSIDS],
     				    tmp) {
    +			request->ssids[i].ssid_len = nla_len(attr);
     			if (request->ssids[i].ssid_len >
     			    IEEE80211_MAX_SSID_LEN) {
     				err = -EINVAL;
     				goto out_free;
     			}
     			memcpy(request->ssids[i].ssid, nla_data(attr),
     			       nla_len(attr));
    -			request->ssids[i].ssid_len = nla_len(attr);
     			i++;
     		}
     	}
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.