xcir / libvmod-parsereq

This project is deprecated

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash when a request carries more than 64 http headers

wanlill opened this issue · comments

here is a bug, if we make a http request with more than 64 http headers, then varnish will issue a 413 error, and this will go on to call vcl_error, however, vcl_error may already be hooked by lib-parsereq, thus the hooked error function will be called. The hooked error function will try to initialise the module and do http_SetHeader. Here is the problem, the call to http_SetHeader will fail because there are already 64 headers, so parsereq-mod will keep trying to reinitialise itself and exhaust the stack, finally core dumped.
screen shot 2013-10-16 at 6 15 48 pm

This dump seem to old version.
Probably this issue not fixed by latest version.
But, I want clarify to bug or old bug.
Can you upgrade latest version?

I am afraid that the new version still have this flaw, because a malformed request with more than 64 http request header can still prevent a new header (which we use in libvmod-parsereq) from being set, thus coredump