From owner-freebsd-bugs Tue Jan 2 19:51:26 2001 From owner-freebsd-bugs@FreeBSD.ORG Tue Jan 2 19:51:24 2001 Return-Path: Delivered-To: freebsd-bugs@freebsd.org Received: from mta06-svc.ntlworld.com (mta06-svc.ntlworld.com [62.253.162.46]) by hub.freebsd.org (Postfix) with ESMTP id 5612037B400 for ; Tue, 2 Jan 2001 19:51:20 -0800 (PST) Received: from sobek.openirc.co.uk ([62.252.12.20]) by mta06-svc.ntlworld.com (InterMail vM.4.01.02.27 201-229-119-110) with ESMTP id <20010103035118.VHZR283.mta06-svc.ntlworld.com@sobek.openirc.co.uk>; Wed, 3 Jan 2001 03:51:18 +0000 Date: Wed, 3 Jan 2001 03:56:06 +0000 (GMT) From: George Reid X-Sender: geeorgy@sobek.openirc.co.uk To: me@me.me.com Cc: freebsd-bugs@freebsd.org Subject: Re: misc/24034: "CWD" discloses the full "real" path in a chroot environment (freebsd 4.2-stable aprox december 11th) In-Reply-To: <200101030326.f033QDa61649@freefall.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 2 Jan 2001 me@me.me.com wrote: > >Description: > A user in the /etc/ftpchroot file shouldn't be able to disclose the "Real" directory they are in. > >How-To-Repeat: > 1) Connect to a freebsd ftp server /w a valid account that is chrooted (i.e. the ftp "/" directory is really "/somedir/whatever/") > 2) "CWD" will show you 550 CWD /somedir/whatever/[servername]: no such file or directory This patch fixes: Index: ftpcmd.y =================================================================== RCS file: /usr/cvs/src/libexec/ftpd/ftpcmd.y,v retrieving revision 1.19 diff -u -r1.19 ftpcmd.y --- ftpcmd.y 2000/12/16 19:19:19 1.19 +++ ftpcmd.y 2001/01/03 03:52:35 @@ -76,6 +76,7 @@ extern int logged_in; extern struct passwd *pw; extern int guest; +extern int dochroot; extern int paranoid; extern int logging; extern int type; @@ -505,7 +506,7 @@ | CWD check_login CRLF { if ($2) { - if (guest) + if (guest || dochroot) cwd("/"); else cwd(pw->pw_dir); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message