Bug#657445: openssh-server: Forced Command handling leaks private information to ssh clients
Package: openssh-server
Version: 1:5.5p1-6+squeeze1
Severity: normal
The handling of multiple forced commands in ~/.ssh/authorized key leaks
information about other configured forced commands to the user. This
affects tools lile gitolite, which makes heavy use of forced commands
(For gitolite, this bug means: A user can obtain some or all usernames
with access to the same gitolite setup by just using the verbose
switch of his ssh client, which is a really nasty thing).
Example:
User "bbu" on machine "ptx" has three configured forced commands for
keys test{1,2,3}_rsa.pub:
command="/usr/bin/first_command" ssh-rsa [...third_key...]
command="/usr/bin/second_command" ssh-rsa [...second_key...]
command="/usr/bin/third_command" ssh-rsa [...third_key...]
Now, if the user of test1_rsa.pub uses the "-v" switch of
his ssh client, he gets just his command:
foo@bar:~/ssh_debug$ ssh -i test1_rsa -v bbu@ptx 2>&1 | grep Forced\ command
debug1: Remote: Forced command: /usr/bin/first_command
debug1: Remote: Forced command: /usr/bin/first_command
but the user of test2_rsa.pub sees two commands:
foo@bar:~/ssh_debug$ ssh -i test2_rsa -v bbu@ptx 2>&1 | grep Forced\ command
debug1: Remote: Forced command: /usr/bin/first_command
debug1: Remote: Forced command: /usr/bin/second_command
debug1: Remote: Forced command: /usr/bin/first_command
debug1: Remote: Forced command: /usr/bin/second_command
and for user of test3_rsa.pub:
bbu@elara:~/ssh_debug$ ssh -i test3_rsa -v bbu@ptx 2>&1 | grep Forced\ command
debug1: Remote: Forced command: /usr/bin/first_command
debug1: Remote: Forced command: /usr/bin/second_command
debug1: Remote: Forced command: /usr/bin/third_command
debug1: Remote: Forced command: /usr/bin/first_command
debug1: Remote: Forced command: /usr/bin/second_command
debug1: Remote: Forced command: /usr/bin/third_command
-- System Information:
Debian Release: 6.0.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages openssh-server depends on:
ii adduser 3.112+nmu2 add and remove users and groups
ii debconf [debconf-2. 1.5.36.1 Debian configuration management sy
ii dpkg 1.15.8.11 Debian package management system
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libcomerr2 1.41.12-4stable1 common error description library
ii libgssapi-krb5-2 1.8.3+dfsg-4squeeze5 MIT Kerberos runtime libraries - k
ii libkrb5-3 1.8.3+dfsg-4squeeze5 MIT Kerberos runtime libraries
ii libpam-modules 1.1.1-6.1+squeeze1 Pluggable Authentication Modules f
ii libpam-runtime 1.1.1-6.1+squeeze1 Runtime support for the PAM librar
ii libpam0g 1.1.1-6.1+squeeze1 Pluggable Authentication Modules l
ii libselinux1 2.0.96-1 SELinux runtime shared libraries
ii libssl0.9.8 0.9.8o-4squeeze7 SSL shared libraries
ii libwrap0 7.6.q-19 Wietse Venema's TCP wrappers libra
ii lsb-base 3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip
ii openssh-blacklist 0.4.1 list of default blacklisted OpenSS
ii openssh-client 1:5.5p1-6+squeeze1 secure shell (SSH) client, for sec
ii procps 1:3.2.8-9 /proc file system utilities
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages openssh-server recommends:
ii openssh-blacklist-extra 0.4.1 list of non-default blacklisted Op
ii xauth 1:1.0.4-1 X authentication utility
Versions of packages openssh-server suggests:
pn molly-guard <none> (no description available)
pn rssh <none> (no description available)
pn ssh-askpass <none> (no description available)
pn ufw <none> (no description available)
-- debconf information excluded
Reply to: