Version
v25.7.0
Platform
Linux disp3373 6.18.4-1.qubes.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Jan 10 18:06:47 UTC 2026 x86_64 GNU/Linux
Subsystem
HTTP
What steps will reproduce the bug?
Make an HTTP request to a server that replies with a status line such as HTTP/1.1 200 (note the lack of trailing space).
How often does it reproduce? Is there a required condition?
100%
What is the expected behavior? Why is that the expected behavior?
Per RFC9112 §4.9:
A server MUST send the space that separates the status-code from the reason-phrase even when the reason-phrase is absent (i.e., the status-line would end with the space).
So this is not a valid response and should be rejected.
What do you see instead?
Parsed correctly.
Additional information
Node.js’s parser is extremely strict, so this surprised me.
Version
v25.7.0
Platform
Subsystem
HTTP
What steps will reproduce the bug?
Make an HTTP request to a server that replies with a status line such as
HTTP/1.1 200(note the lack of trailing space).How often does it reproduce? Is there a required condition?
100%
What is the expected behavior? Why is that the expected behavior?
Per RFC9112 §4.9:
So this is not a valid response and should be rejected.
What do you see instead?
Parsed correctly.
Additional information
Node.js’s parser is extremely strict, so this surprised me.