mirror of
https://github.com/nginx/nginx.git
synced 2026-06-27 04:12:05 +00:00
Headers with null character are now rejected.
Headers with NUL character aren't allowed by HTTP standard and may cause various security problems. They are now unconditionally rejected.
This commit is contained in:
parent
eb526b7d7d
commit
d1ed97b18b
1 changed files with 14 additions and 0 deletions
|
|
@ -874,6 +874,10 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
|
|||
break;
|
||||
}
|
||||
|
||||
if (ch == '\0') {
|
||||
return NGX_HTTP_PARSE_INVALID_HEADER;
|
||||
}
|
||||
|
||||
r->invalid_header = 1;
|
||||
|
||||
break;
|
||||
|
|
@ -936,6 +940,10 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
|
|||
break;
|
||||
}
|
||||
|
||||
if (ch == '\0') {
|
||||
return NGX_HTTP_PARSE_INVALID_HEADER;
|
||||
}
|
||||
|
||||
r->invalid_header = 1;
|
||||
|
||||
break;
|
||||
|
|
@ -954,6 +962,8 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
|
|||
r->header_start = p;
|
||||
r->header_end = p;
|
||||
goto done;
|
||||
case '\0':
|
||||
return NGX_HTTP_PARSE_INVALID_HEADER;
|
||||
default:
|
||||
r->header_start = p;
|
||||
state = sw_value;
|
||||
|
|
@ -975,6 +985,8 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
|
|||
case LF:
|
||||
r->header_end = p;
|
||||
goto done;
|
||||
case '\0':
|
||||
return NGX_HTTP_PARSE_INVALID_HEADER;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -988,6 +1000,8 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,
|
|||
break;
|
||||
case LF:
|
||||
goto done;
|
||||
case '\0':
|
||||
return NGX_HTTP_PARSE_INVALID_HEADER;
|
||||
default:
|
||||
state = sw_value;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue