Skip to content

jchevali/nginx-http2-auth_request-post-corruption

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx 1.10.2 and 1.11.6 on Ubuntu 16.04 and Debian Stretch will corrupt the first 32 bytes of a POST request body exceeding 8192 bytes when proxying from a HTTP/2 client and also using an auth_request.

Using HTTP/1.1 instead of HTTP/2 stops the corruption.

Removing the auth_request configuration also stops the corruption.

POST request bodies of exactly 8192 bytes or less are not corrupted.

HTTP/2 clients tested include nghttp2 1.16, Chrome 55 for Windows, and Firefox 51.0 for Windows. The client-side HTTP/2 over TLS traffic has been captured, decrypted, and verified to contain the uncorrupted POST request body.

  1. Build the docker image with sudo docker build --tag repro /.
  2. Run the image with sudo docker run repro to see the issue reproduced.

A sample of the output produced by running the image is also included in the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nginx 66.6%
  • Shell 33.4%