ppp: fix a buffer overrun in the ms chap code
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Jul 2014 12:18:52 +0000 (12:18 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Jul 2014 12:18:52 +0000 (12:18 +0000)
https://dev.openwrt.org/ticket/17296

Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41882 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/ppp/patches/520-ms_chap_buffer_overrun.patch [new file with mode: 0644]

diff --git a/package/network/services/ppp/patches/520-ms_chap_buffer_overrun.patch b/package/network/services/ppp/patches/520-ms_chap_buffer_overrun.patch
new file mode 100644 (file)
index 0000000..acbf33b
--- /dev/null
@@ -0,0 +1,13 @@
+Index: ppp-2.4.6/pppd/chap_ms.c
+===================================================================
+--- ppp-2.4.6.orig/pppd/chap_ms.c      2014-07-29 00:38:03.073968867 +0100
++++ ppp-2.4.6/pppd/chap_ms.c   2014-07-29 00:41:52.897964689 +0100
+@@ -382,7 +382,7 @@
+                     unsigned char *private)
+ {
+       const struct chapms2_response_cache_entry *cache_entry;
+-      unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH];
++      unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH+1];
+       challenge++;    /* skip length, should be 16 */
+       *response++ = MS_CHAP2_RESPONSE_LEN;