Skip to content

http: missing host header violation #3094

@jasnell

Description

@jasnell

Per RFC 7230: "A server MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message that lacks a Host header field and to any request message that contains more than one Host header field or a Host header field with an invalid field-value."

Node currently ignores this requirement. To test, create a simple server:

http.createServer(function(req,res) {
  res.end('ok');
}).listen(8080);

First, test the missing Host header

$ telnet localhost 8080
GET / HTTP/1.1

HTTP/1.1 200 OK

Second, test duplicate Host headers:

$ telnet localhost 8080
GET / HTTP/1.1
Host: A
Host: B

HTTP/1.1 200 OK

Third, test malformed Host headers:

$ telnet localhost 8080
GET / HTTP/1.1
Host: A, B

HTTP/1.1 200 OK

Metadata

Metadata

Assignees

Labels

httpIssues or PRs related to the http subsystem.securityIssues and PRs related to security.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions