-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request timeout if a single header exceeds the max-http-header-size limit #25858
Comments
FWIW this works on master, so there's just a commit/change that needs to be backported it seems. |
Found the change, will create a PR. |
Refs: #24738 Fixes: #25858 PR-URL: #25863 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
Refs: #24738 Fixes: #25858 PR-URL: #25863 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
Refs: #24738 Fixes: #25858 PR-URL: #25939 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Beth Griggs <[email protected]>
I believe this was fixed on 10.15.3 (although I haven't tested it). Can this issue be closed? |
Ok, so I tried on v10.14.0, v10.15.1 and v10.15.3, and v10.19.0 the issue seems resolved on 10.15.3 and onwards. $ nvm use 10.14.0
Now using node v10.14.0 (npm v6.4.1)
$ node index.js
Listening on 3000
EXCESS_HEADER responded with: 400
EXCESS_HEADER_TIMEOUT responded with: 400
^C
$ nvm install 10.15.1
Now using node v10.15.1 (npm v6.4.1)
$ node index.js
Listening on 3000
EXCESS_HEADER responded with: 400
EXCESS_HEADER_TIMEOUT CALL TIMED OUT!
^C
$ nvm install 10.15.3
Now using node v10.15.3 (npm v6.4.1)
$ node index.js
Listening on 3000
EXCESS_HEADER responded with: 400
EXCESS_HEADER_TIMEOUT responded with: 400
^C
$ nvm install 10.19.0
Now using node v10.19.0 (npm v6.13.4)
$ node index.js
Listening on 3000
EXCESS_HEADER responded with: 400
EXCESS_HEADER_TIMEOUT responded with: 400
Based on that, I'm closing this issue. Feel free to reopen if I missed something though. |
@mmarchini we encountered this issue in the latest node version 14.19.0, may I know whether this issue has been fixed in v14? From the PR I only see that it has been fixed in v6, v8 and v10. thanks! |
If a request header exceeds the
max-http-header-size
in Node 10.15.1 and 10.15.0 the request hangs leaving the socket open until the server times out. This seems like it could be a potential DoS attack vector. On Node 10.14.1 a 400 response is received as expected. The code below demonstrates the issue. If you run the code on 10.14.1 both requests will return immediately with a 400 as expected. On 10.15.1 the second request times out.You can grab the test script from here also. https://github.com/natedanner/node-max-header-timeout/blob/master/server.js
The text was updated successfully, but these errors were encountered: