running ~/.ssh/rc doesn't use users shell or file's interpreter (Security issue?)
    Damien Miller 
    djm at mindrot.org
       
    Thu Sep  5 17:17:16 AEST 2019
    
    
  
On Tue, 3 Sep 2019, L A Walsh wrote:
> I have an rc script and ran across what appears to be a bug.
> 
> In the rc script, I have the start line:
> #!/bin/bash, as well as it seems to ignore the user's shell.
> 
> While one might argue that 'rc' is not executed, but sourced,
> at the very least it seems it should use the user's listed
> shell.
> 
> If I have a user setup with 'rbash', 'rsh', for example,
> ssh would seem to ignore that and use /bin/sh.
The user rc file is actually run using the user's shell since 2001, though
indirectly:
>     snprintf(cmd, sizeof cmd, "%s -c '%s %s'",
>         shell, _PATH_BSHELL, _PATH_SSH_USER_RC);
>     f = popen(cmd, "w");
So restricted shells do have a chance to intervene.
I don't think it would be possible to change how this is executed as doing
so would potentially break a bunch of working setups in difficult to debug
ways.
-d
    
    
More information about the openssh-unix-dev
mailing list