forked from Imagelibrary/rtems
2006-02-08 Thomas Rauscher <trauscher@loytec.com>
PR 890/networking * rtems_webserver/webs.c: The webservers enters an infinite loop when a POST request with less data than indicated in the Content-Length header is received. It also consumes additional heap memory and a file descriptor for each invalid POST.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2006-02-08 Thomas Rauscher <trauscher@loytec.com>
|
||||
|
||||
PR 890/networking
|
||||
* rtems_webserver/webs.c: The webservers enters an infinite loop when a
|
||||
POST request with less data than indicated in the Content-Length
|
||||
header is received. It also consumes additional heap memory and a
|
||||
file descriptor for each invalid POST.
|
||||
|
||||
2005-05-20 Sergei Organov <osv@topconrd.ru>
|
||||
|
||||
PR 750/networking
|
||||
|
||||
@@ -565,6 +565,11 @@ static int websGetInput(webs_t wp, char_t **ptext, int *pnbytes)
|
||||
return -1;
|
||||
|
||||
} else if (nbytes == 0) { /* EOF or No data available */
|
||||
/* Bugfix for POST DoS attack with invalid content length */
|
||||
if (socketEof(wp->sid)) {
|
||||
websDone(wp, 0);
|
||||
}
|
||||
/* End of bugfix */
|
||||
return -1;
|
||||
|
||||
} else { /* Valid data */
|
||||
|
||||
Reference in New Issue
Block a user