You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**Expected**|`400` or close (pass), `2xx` (warn) |
14
14
15
15
## What it sends
16
16
@@ -93,12 +93,12 @@ This directly supports why bare LF in headers is a security concern: if the fron
93
93
94
94
### Scored / Unscored justification
95
95
96
-
This test is **scored (Pass/Fail)**. Although the RFC requirement level is MAY, Http11Probe enforces strict rejection:
96
+
This test is **scored (Pass/Warn)**:
97
97
98
98
-**Pass** for `400` or connection close --- strict rejection prevents header boundary disagreements between hops.
99
-
-**Fail** for `2xx` --- the server accepted bare LF in a header, which introduces a smuggling vector in multi-hop architectures.
99
+
-**Warn** for `2xx` --- the server accepted bare LF in a header. This is permitted by the RFC (MAY) but introduces a smuggling vector in multi-hop architectures.
100
100
101
-
The scoring reflects Http11Probe's security-first philosophy: when the RFC gives discretion (MAY), the tool rewards the stricter posture. Header-level bare LF is arguably more dangerous than request-line bare LF because header boundaries directly control how Content-Length, Transfer-Encoding, and Host are parsed --- all of which are smuggling-critical fields.
101
+
The strict posture is rewarded because header-level bare LF is particularly sensitive --- header boundaries directly control how Content-Length, Transfer-Encoding, and Host are parsed, all of which are smuggling-critical fields.
|**Expected**|`400` or close (pass), `2xx` (warn) |
14
14
15
15
## What it sends
16
16
@@ -94,12 +94,12 @@ This explains the security motivation for rejecting bare LF: when a front-end pr
94
94
95
95
### Scored / Unscored justification
96
96
97
-
This test is **scored (Pass/Fail)**. Although the RFC requirement level is MAY, Http11Probe enforces strict rejection:
97
+
This test is **scored (Pass/Warn)**:
98
98
99
99
-**Pass** for `400` or connection close --- strict rejection eliminates parser-differential attacks.
100
-
-**Fail** for `2xx` --- the server accepted bare LF as a line terminator, which introduces a smuggling vector in multi-hop architectures.
100
+
-**Warn** for `2xx` --- the server accepted bare LF as a line terminator. This is permitted by the RFC (MAY) but introduces a smuggling vector in multi-hop architectures.
101
101
102
-
The scoring reflects Http11Probe's security-first philosophy: when the RFC gives discretion (MAY), the tool rewards the stricter posture because bare LF acceptance is a well-known source of parser disagreements that enable request smuggling.
102
+
The strict posture is rewarded because bare LF acceptance is a well-known source of parser disagreements that enable request smuggling.
0 commit comments