starcoinorg / starcoin

Starcoin - A Move smart contract blockchain network that scales by layering
Apache License 2.0
1.38k stars 289 forks source link

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

Open github-actions[bot] opened 4 years ago

github-actions[bot] commented 4 years ago

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

Details
Package hyper
Version 0.10.16
URL https://github.com/hyperium/hyper/issues/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.

nanne007 commented 4 years ago

不太好改。这个依赖是 jsonrpc 依赖 websocket,websocket 再依赖的 hyper。 https://github.com/websockets-rs/rust-websocket/blob/e9a3c9c93003ac733d04fafe83b3d8f882c31565/Cargo.toml#L20

jolestar commented 3 years ago

check this after #1822

jolestar commented 3 years ago

json rpc 升级后,这个问题依然还存在