summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sliplogin
diff options
context:
space:
mode:
authorpst <pst@FreeBSD.org>1996-04-24 20:18:25 +0000
committerpst <pst@FreeBSD.org>1996-04-24 20:18:25 +0000
commitd88ab4bed7f2b51e29ecc41459ace7ae56b707a3 (patch)
treec127e9a35786a121fe4ecbb33bf4b18fde15c3c0 /usr.sbin/sliplogin
parentaf5eac078b622c240d40982a0ae1da0eb33261a2 (diff)
downloadFreeBSD-src-d88ab4bed7f2b51e29ecc41459ace7ae56b707a3.zip
FreeBSD-src-d88ab4bed7f2b51e29ecc41459ace7ae56b707a3.tar.gz
Close a security hole in sliplogin.
If you use sliplogin as a user shell (in /etc/passwd) upgrade to this version. Reviewed by: bde, peter Submitted by: AUS CERT Obtained from: Linux sliplogin-2.02
Diffstat (limited to 'usr.sbin/sliplogin')
-rw-r--r--usr.sbin/sliplogin/sliplogin.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.sbin/sliplogin/sliplogin.c b/usr.sbin/sliplogin/sliplogin.c
index 220ffa8..26b75cf 100644
--- a/usr.sbin/sliplogin/sliplogin.c
+++ b/usr.sbin/sliplogin/sliplogin.c
@@ -88,6 +88,13 @@ static char sccsid[] = "@(#)sliplogin.c 8.2 (Berkeley) 2/1/94";
#include <signal.h>
#include "pathnames.h"
+extern char **environ;
+
+static char *restricted_environ[] = {
+ "PATH=" _PATH_STDPATH,
+ NULL
+};
+
int unit;
int slip_mode;
speed_t speed;
@@ -124,6 +131,8 @@ findid(name)
char buf[128];
int i, j, n;
+ environ = restricted_environ; /* minimal protection for system() */
+
(void)strcpy(loginname, name);
if ((fp = fopen(_PATH_ACCESS, "r")) == NULL) {
accfile_err:
OpenPOWER on IntegriCloud