-
Notifications
You must be signed in to change notification settings - Fork 393
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
[GnoVM] Gas system doesn't catch infinite loops #3612
Comments
Random thought here, and a bit of a continuation of a conversation with @mvertes that he and I had in October. If feels like something like the eBPF verifier pattern could be really useful for us. https://docs.ebpf.io/linux/concepts/verifier/ for context eBPF allows users to extend core kernel functionality, so runtime safety measures (like no infinite loops) are part of the verification process. |
FWIW this is the same as #3563. @kristovatlas Which one should we close? |
Description
Credit to @odeke-em, #3417
An ABCI query or a MsgCall call to this Render function will make the node non-responsive until the caller's context deadline is exceeded, posing a DOS attack vector. With
gnokey
, the terminal hangs until thegnokey
context is exceeded, and withgnoweb
, the page trying to render the realm also hangs, untilgnoweb
's builtin timeout kicks in and reports an internal problem.This is obviously not caught with the gas system in either cases.
cc @thehowl @piux2
The text was updated successfully, but these errors were encountered: