-
Notifications
You must be signed in to change notification settings - Fork 116
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
Forbid Redirect Downgrade from HTTPS to HTTP #165
Comments
This is a good fix |
@bryanmacfarlane Do you have the cycles to implement this change and roll it downstream to the actions repository? |
Would it be appropriate for this to be opt-in or opt-out? |
JLLeitschuh
added a commit
to JLLeitschuh/typed-rest-client
that referenced
this issue
Oct 10, 2019
damccorm
pushed a commit
that referenced
this issue
Oct 11, 2019
* Forbid redirect from HTTPS to HTTP by default Closes #165 * Apply suggestions from code review
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Feature Request
If an HTTPS client request gets downgraded by a redirect to HTTP by some host in the redirect chain, users should have the option to forbid this downgrade in the configuration of the
HttpClient
.Impacted Code
typed-rest-client/lib/HttpClient.ts
Lines 239 to 256 in c99dbbe
There is no check to see if the new redirect location is a downgrade from HTTPS to HTTP.
While not strictly a security vulnerability, this does have security implications.
Use Case
The use case for this is the GitHub Actions toolkit API. See: actions/toolkit#162
The GitHub actions toolkit is used to download other tools using the
downloadTool
API. We'd like to require that users provide SHA-256 checksums for their artifacts if they end up using HTTP instead of HTTPS to prevent MITM attacks against the GH Actions supply chain.This verification should also be required if somewhere in the redirect chain in downloading the tool, the request is downgraded from HTTPS to HTTP. Currently, the
HttpClient
doesn't support this sort of check.The text was updated successfully, but these errors were encountered: