Skip to content

Commit 522a285

Browse files
committed
Qhelp file for explanation
1 parent 2e27447 commit 522a285

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<!DOCTYPE qhelp PUBLIC
2+
"-//Semmle//qhelp//EN"
3+
"qhelp.dtd">
4+
<qhelp>
5+
6+
<overview>
7+
8+
<p>
9+
10+
Strict HTTP parsing may cause problems with interoperability with some
11+
non-conformant HTTP implementations. But disabling it is strongly discouraged,
12+
as it opens the door to several threats including HTTP Request Smuggling.
13+
14+
</p>
15+
16+
</overview>
17+
18+
<recommendation>
19+
20+
<p>
21+
22+
Do not enable insecure http parser.
23+
24+
</p>
25+
26+
</recommendation>
27+
28+
<example>
29+
30+
<p>
31+
32+
The following example shows the instantiation of an http server. This
33+
server is vulnerable to HTTP Request Smuggling because the
34+
<code>insecureHTTPParser</code> option of the server instantiation is
35+
set to <code>true</code>. As a consequence, malformed packets may attempt
36+
to exploit any number of weaknesses including ranging from Web Cache Poisoning
37+
Attacks to bypassing firewall protection mecahanisms.
38+
39+
</p>
40+
41+
<sample src="examples/InsecureHttpParser.js"/>
42+
43+
<p>
44+
45+
To make sure that packets are parsed correctly, the
46+
<code>invalidHTTPParser</code> option should have its default value,
47+
or be explicitly set to <code>false</code>.
48+
49+
</p>
50+
51+
</example>
52+
53+
<references>
54+
55+
<li>NodeJS: <a href="https://nodejs.org/en/blog/vulnerability/february-2020-security-releases">February 20 Security Release</a></li>
56+
57+
<li>Snyk: <a href="https://snyk.io/blog/node-js-release-fixes-a-critical-http-security-vulnerability/">NodeJS Critical HTTP Vulnerability</a></li>
58+
59+
<li>CWE-444: <a href="https://cwe.mitre.org/data/definitions/444.html">HTTP Request/Response Smuggling</a></li>
60+
61+
</references>
62+
63+
</qhelp>

0 commit comments

Comments
 (0)