You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
package hello
funcmain() {
for {}
println("hello world")
}
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 the gnokey context is exceeded, and with gnoweb, the page trying to render the realm also hangs, until gnoweb's builtin timeout kicks in and reports an internal problem.
This is obviously not caught with the gas system in either cases.
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.
for context eBPF allows users to extend core kernel functionality, so runtime safety measures (like no infinite loops) are part of the verification process.
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: