]> Sergey Matveev's repositories - public-inbox.git/commit
httpd: reject requests with spaces in header names
authorEric Wong <e@80x24.org>
Tue, 19 Oct 2021 21:26:15 +0000 (21:26 +0000)
committerEric Wong <e@80x24.org>
Wed, 20 Oct 2021 10:37:34 +0000 (10:37 +0000)
commit49e653848f34a179f38c1738f537f69c1205e92a
tree20e7ed69eda55a8076ea757dd325c4f27d6d55cb
parent9f8e28a80374e905c831d2d5f3a45c6a9d708fa3
httpd: reject requests with spaces in header names

Malicious clients may attempt HTTP request smuggling this way.
This doesn't affect our current code as we only look for exact
matches, but it could affect other servers behind a
to-be-implemented reverse proxy built around our -httpd.

This doesn't affect users behind varnish at all, nor the
HTTPS/HTTP reverse proxy I use (I don't know about nginx), but
could be passed through by other reverse proxies.

This change is only needed for HTTP::Parser::XS which most users
probably use.  Users of the pure Perl parser (via
PLACK_HTTP_PARSER_PP=1) already hit 400 errors in this case,
so this makes the common XS case consistent with the pure Perl
case.

cf. https://www.mozilla.org/en-US/security/advisories/mfsa2006-33/
lib/PublicInbox/HTTP.pm
t/httpd-corner.t