Handle nullbytes in auth headers

What does this MR do?

When using git-over-http the GitHttpClientController would try to look up the user or token read from the Authorization headers.

If one of those headers would containe a base64 encoded null-byte, this would result in an ArgumentError.

This adds support for that to the middleware by decoding the authorization headers and validating them beforehand.

This is another part of gitlab-com/gl-infra/scalability#609

It was visible on sentry here: https://sentry.gitlab.net/gitlab/gitlabcom/issues/2075094/?query=is%3Aunresolved%20invalid%20byte%20sequence%20in%20UTF-8

for the /info/refs path.

Does this MR meet the acceptance criteria?

Conformity

Edited by Bob Van Landuyt

Merge request reports

Loading