ppp: fix a buffer overrun in the ms chap code
authorJohn Crispin <john@openwrt.org>
Sun, 3 Aug 2014 11:15:36 +0000 (11:15 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 3 Aug 2014 11:15:36 +0000 (11:15 +0000)
https://dev.openwrt.org/ticket/17296

Signed-off-by: John Crispin <blogic@openwrt.org>
Backport of r41882

SVN-Revision: 41966

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;