From 7427e65f60da73c7c259773ec9e67a5e752307e3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 6 Jan 2024 13:53:20 +0530 Subject: [PATCH] When copying env for SSH sanitize problematic env vars --- kitty/window.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/kitty/window.py b/kitty/window.py index cb608af2e..23555924e 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -171,6 +171,18 @@ class CwdRequest: set_cwd_in_cmdline(reported_cwd, argv) set_server_args_in_cmdline(server_args, argv, allocate_tty=not run_shell) if env is not None: + # Assume env is coming from a local process so drop env + # vars that can cause issues when set on the remote host + if env.get('KITTY_KITTEN_RUN_MODULE') == 'ssh_askpass': + for k in ('KITTY_KITTEN_RUN_MODULE', 'SSH_ASKPASS', 'SSH_ASKPASS_REQUIRE'): + env.pop(k, None) + for k in ( + 'HOME', 'USER', 'TEMP', 'TMP', 'TMPDIR', 'PATH', 'PWD', 'OLDPWD', 'KITTY_INSTALLATION_DIR', + 'HOSTNAME', 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'KITTY_WINDOW_ID', 'KITTY_STDIO_FORWARDED', + 'KITTY_PID', 'KITTY_PUBLIC_KEY', 'KITTY_WINDOW_ID', 'TERMINFO', 'XDG_RUNTIME_DIR', 'XDG_VTNR', + 'XDG_DATA_DIRS', 'XAUTHORITY', 'EDITOR', 'VISUAL', + ): + env.pop(k, None) set_env_in_cmdline(env, argv, clone=False) return '' if not window.child_is_remote and (self.request_type is CwdRequestType.last_reported or window.at_prompt):