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

RUSTSEC-2020-0008: Flaw in hyper allows request smuggling by sending a body in GET requests #83

Closed
github-actions bot opened this issue Apr 1, 2020 · 2 comments

Comments

@github-actions
Copy link

github-actions bot commented Apr 1, 2020

Flaw in hyper allows request smuggling by sending a body in GET requests

Details
Package hyper
Version 0.10.16
URL hyperium/hyper#1925
Date 2020-03-19
Patched versions >= 0.12.34

Vulnerable versions of hyper allow GET requests to have bodies, even if there is
no Transfer-Encoding or Content-Length header. As per the HTTP 1.1
specification, such requests do not have bodies, so the body will be interpreted
as a separate HTTP request.

This allows an attacker who can control the body and method of an HTTP request
made by hyper to inject a request with headers that would not otherwise be
allowed, as demonstrated by sending a malformed HTTP request from a Substrate
runtime. This allows bypassing CORS restrictions. In combination with other
vulnerabilities, such as an exploitable web server listening on loopback, it may
allow remote code execution.

The flaw was corrected in hyper version 0.12.34.

See advisory page for additional details.

@warner
Copy link
Collaborator

warner commented Apr 23, 2020

From what I can tell, this is a transitive dependency of the websocket library we depend upon (for the io-tokio feature), so I don't think we can fix this directly. The websocket repository says that "development is sluggish", and suggests we should switch to tokio-tungstenite instead.

@piegamesde
Copy link
Member

As of #94, we switched from websocket to async-tungstenite so we don't depend on this anymore.

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