1*4882a593SmuzhiyunFrom 7f47efe1717c381f86566fabe0b1ced8cb98fe8f Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: irsl <irsl@users.noreply.github.com> 3*4882a593SmuzhiyunDate: Fri, 26 Oct 2018 11:51:15 +0200 4*4882a593SmuzhiyunSubject: [PATCH] fix for broken multipart/form-data 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunMalformed multipart/form-data payload results in infinite loop and thus denial of service 7*4882a593Smuzhiyun[Upstream status: https://github.com/shellinabox/shellinabox/pull/446] 8*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 9*4882a593Smuzhiyun--- 10*4882a593Smuzhiyun libhttp/url.c | 3 +++ 11*4882a593Smuzhiyun 1 file changed, 3 insertions(+) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/libhttp/url.c b/libhttp/url.c 14*4882a593Smuzhiyunindex ed29475..4177871 100644 15*4882a593Smuzhiyun--- a/libhttp/url.c 16*4882a593Smuzhiyun+++ b/libhttp/url.c 17*4882a593Smuzhiyun@@ -312,6 +312,9 @@ static void urlParsePostBody(struct URL *url, 18*4882a593Smuzhiyun } 19*4882a593Smuzhiyun } 20*4882a593Smuzhiyun } 21*4882a593Smuzhiyun+ } else { 22*4882a593Smuzhiyun+ warn("[http] broken multipart/form-data!"); 23*4882a593Smuzhiyun+ break; 24*4882a593Smuzhiyun } 25*4882a593Smuzhiyun } 26*4882a593Smuzhiyun if (lastPart) { 27