Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sig-Auth Pre-Acceptance TODOs #169

Closed
13 of 15 tasks
ibihim opened this issue Apr 25, 2022 · 4 comments
Closed
13 of 15 tasks

Sig-Auth Pre-Acceptance TODOs #169

ibihim opened this issue Apr 25, 2022 · 4 comments

Comments

@ibihim
Copy link
Collaborator

ibihim commented Apr 25, 2022

  • Remove insecure-listen-address as it is dangerous to do so with an auth proxy (link)
  • Add client certificates for kube-rbac-proxy to upstream (link)
  • Update developer documentation to emphasize the distinction between authn opts and authz configs and show the config format (link).
  • Don't allow attributes requests without http methods (link).
  • Improve logic coordination of in proxy.go to not rely on other parts of the code base to handle empty attributes (link).
  • Check all headers with an AND logic (link).
  • Remove unused DeepCopy (link).
  • Diff with http.Transport defaults in k/k (link).
  • H2C topics and disabling TLS (link).
  • Return errors to users, when those happen (link, link).
  • Mux logic needs 100% test coverage and / or improve readability (link, link).
  • Explain what a bool return value on the kubeRBACProxy Handle means (link).
  • Reuse k8s.io/apiserver serving logic (link).
  • Use upstream authentication request logic fully: authenticator.Request -> filters.WithAuthentication (link).
  • Verify that native library proxy isn't vulnerable to cve-2018-1002105 or consider using code from this implementation. (YouTube - SIG-AUTH Bi-Weekly Meeting)

Related: Post-Acceptance.

@enj
Copy link

enj commented Apr 27, 2022

When writing tests for the proxy, please make sure to have coverage for http1 only, http2 only and http1+http2. GHSA-pvxj-25m6-7vqr is an example of a proxy CVE that only occurs over http1.

@ibihim
Copy link
Collaborator Author

ibihim commented Aug 8, 2022

I discussed breaking changes like removing CLI API (insecure listen address: link) and we would like to keep the PR open and merge it at the very end and create warning logs until then.

@ibihim
Copy link
Collaborator Author

ibihim commented Jan 31, 2023

I tried to replicate the CVE based on go example and by reading through the blog.

I couldn't make it work, so I read through the fix and the native reverse proxy in use.

The native proxy checks for upstream to agree on an upgrade of the connection.

@ibihim
Copy link
Collaborator Author

ibihim commented Jan 26, 2024

Closing this as it doesn't have any use any more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants