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
Change the shell and exec daemon options to default to disabled
instead of enabling the Erlang shell and Erlang term evaluation
respectively. This implements the "secure by default" principle,
preventing authenticated users from executing arbitrary Erlang code
unless explicitly configured.
The new erlang_eval exec option enables Erlang term evaluation via
exec requests, replacing the previous implicit behavior.
Applications requiring these services must now explicitly enable them:
%% Enable Erlang shell
ssh:daemon(Port, [{shell, {shell, start, []}} | Options])
%% Enable Erlang term evaluation via exec
ssh:daemon(Port, [{exec, erlang_eval} | Options])
Also fix a client-side crash in ssh:shell/1 where the missing exec
key in options caused channel_cb_init_args/1 to append undefined to
the callback init args. Both erlang_eval and undefined are now
filtered out, as neither is a callback init argument.
0 commit comments