Reject HTTP/2 header field values containing invalid characters. |
||
Issue descriptionFirefox conforms to the HTTP/2 specification in terms of allowed characters in header field values, see https://bugzilla.mozilla.org/show_bug.cgi?id=1411659#c7. Chrome, however, is too permissive. In particular, it allows CR or LF characters in a header field (but not a CR-LF pair). RFC7540 Section 10.3 says "Any request or response that contains a character not permitted in a header field value MUST be treated as malformed (Section 8.1.2.6). Valid characters are defined by the field-content ABNF rule in Section 3.2 of [RFC7230]." RFC7230 says field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] field-vchar = VCHAR / obs-text obs-text = %x80-FF For VCHAR, RFC7230 defers to RFC5234 Appendix B.1, which states: VCHAR = %x21-7E HeaderCoalescer::AddHeader() should enforce this.
,
Nov 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc5041fa78d1d5ccfc6d40f9c88511e07c48c204 commit dc5041fa78d1d5ccfc6d40f9c88511e07c48c204 Author: Bence Béky <bnc@chromium.org> Date: Tue Nov 28 18:40:48 2017 Reject invalid characters in HTTP/2 header names. Bug: 787581 Change-Id: Iba4ae13dbeacbf8f731c4a9d712eb1e0f95f61d1 Reviewed-on: https://chromium-review.googlesource.com/786612 Commit-Queue: Ryan Hamilton <rch@chromium.org> Commit-Queue: Bence Béky <bnc@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#519764} [modify] https://crrev.com/dc5041fa78d1d5ccfc6d40f9c88511e07c48c204/net/spdy/chromium/header_coalescer.cc [modify] https://crrev.com/dc5041fa78d1d5ccfc6d40f9c88511e07c48c204/net/spdy/chromium/header_coalescer_test.cc
,
Nov 28 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Nov 22 2017