add an update for the not-entirely-correct security fix of madwifi (see [5720], madwi...
[openwrt-10.03/.git] / package / madwifi / patches / 105-security_patch_fix.patch
1 The fix for CVE-2006-6332 in r1842 was not entirely correct. In\r
2 encode_ie() the bound check did not consider that each byte from\r
3 the IE causes two bytes to be written into buffer. That could\r
4 lead to a kernel oops, but does not allow code injection. This is\r
5 now fixed.\r
6 \r
7 Due to the type of this problem it does not trigger another\r
8 urgent security bugfix release. v0.9.3 is at the door anyway.\r
9 \r
10 Reported-by: Joachim Gleisner <jg@suse.de> \r
11 \r
12 Index: trunk/net80211/ieee80211_wireless.c\r
13 ===================================================================\r
14 --- trunk/net80211/ieee80211_wireless.c (revision 1846)\r
15 +++ trunk/net80211/ieee80211_wireless.c (revision 1847)\r
16 @@ -1566,8 +1566,8 @@\r
17         bufsize -= leader_len;\r
18         p += leader_len;\r
19 -       if (bufsize < ielen)\r
20 -               return 0;\r
21 -       for (i = 0; i < ielen && bufsize > 2; i++)\r
22 +       for (i = 0; i < ielen && bufsize > 2; i++) {\r
23                 p += sprintf(p, "%02x", ie[i]);\r
24 +               bufsize -= 2;\r
25 +       }\r
26         return (i == ielen ? p - (u_int8_t *)buf : 0);\r
27  }\r