rssh and scponly do not filter command-line options that can be exploited to execute any command, thereby allowing a remote user to completely bypass the restricted shell.
|Package||net-misc/scponly on all architectures|
|Affected versions||< 4.0|
|Unaffected versions||>= 4.0|
|Package||app-shells/rssh on all architectures|
|Affected versions||<= 2.2.2|
|Unaffected versions||>= 2.2.3|
rssh and scponly are two restricted shells, allowing only a few predefined commands. They are often used as a complement to OpenSSH to provide access to remote users without providing any remote execution privileges.
Jason Wies discovered that when receiving an authorized command from an authorized user, rssh and scponly do not filter command-line options that can be used to execute any command on the target host.
Using a malicious command, it is possible for a remote authenticated user to execute any command (or upload and execute any file) on the target machine with user rights, effectively bypassing any restriction of scponly or rssh.
There is no known workaround at this time.
All scponly users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=net-misc/scponly-4.0"
All rssh users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=app-shells/rssh/rssh-2.2.3"