From owner-svn-src-head@FreeBSD.ORG Fri Dec 23 18:42:44 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1F041065675; Fri, 23 Dec 2011 18:42:44 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id 505648FC12; Fri, 23 Dec 2011 18:42:44 +0000 (UTC) Received: by qabg14 with SMTP id g14so7567442qab.13 for ; Fri, 23 Dec 2011 10:42:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type; bh=MF2JBBkoMoEEqEylPMuZWGUH2OwRQXYNxKeRXf/hKIA=; b=UrsDv2rno1iBp0pBjEW4r+aZlej8kx3bvXT/YO5TOzsqiuGsQjpczI1GqHew8Lcv9/ uSegIlJ0UU73wF/RtTuQFwYQSvhuJhyHPtZsDDyME1664Thc0mApjQcTaREVduihZUEl FVz2hxt/awDqj1DcRFeYeeKcscM8qLL5k+rTQ= Received: by 10.224.210.130 with SMTP id gk2mr19953246qab.23.1324665763806; Fri, 23 Dec 2011 10:42:43 -0800 (PST) Received: from kan.dyndns.org (c-24-63-226-98.hsd1.ma.comcast.net. [24.63.226.98]) by mx.google.com with ESMTPS id z1sm25669007qao.1.2011.12.23.10.42.42 (version=SSLv3 cipher=OTHER); Fri, 23 Dec 2011 10:42:43 -0800 (PST) Date: Fri, 23 Dec 2011 13:42:25 -0500 From: Alexander Kabaev To: Kostik Belousov Message-ID: <20111223134225.11ac22fd@kan.dyndns.org> In-Reply-To: <20111223182959.GL50300@deviant.kiev.zoral.com.ua> References: <201112231500.pBNF0c0O071712@svn.freebsd.org> <201112231058.46642.jhb@freebsd.org> <201112231122.34436.jhb@freebsd.org> <20111223120644.75fe944d@kan.dyndns.org> <20111223175143.GJ50300@deviant.kiev.zoral.com.ua> <20111223132034.12192baa@kan.dyndns.org> <20111223182959.GL50300@deviant.kiev.zoral.com.ua> X-Mailer: Claws Mail 3.7.10 (GTK+ 2.24.6; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/TYfRu/NI0Pads61ub84RGK+"; protocol="application/pgp-signature" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Colin Percival , John Baldwin Subject: Re: svn commit: r228843 - head/contrib/telnet/libtelnet head/crypto/heimdal/appl/telnet/libtelnet head/include head/lib/libc/gen head/lib/libc/iconv head/lib/libc/include head/lib/libc/net head/libexec... X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Dec 2011 18:42:45 -0000 --Sig_/TYfRu/NI0Pads61ub84RGK+ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Fri, 23 Dec 2011 20:29:59 +0200 Kostik Belousov wrote: > On Fri, Dec 23, 2011 at 01:20:34PM -0500, Alexander Kabaev wrote: > > On Fri, 23 Dec 2011 19:51:43 +0200 > > Kostik Belousov wrote: > >=20 > > > On Fri, Dec 23, 2011 at 12:06:44PM -0500, Alexander Kabaev wrote: > > > > On Fri, 23 Dec 2011 11:22:34 -0500 > > > > John Baldwin wrote: > > > >=20 > > > > > On Friday, December 23, 2011 10:58:46 am John Baldwin wrote: > > > > > > On Friday, December 23, 2011 10:00:38 am Colin Percival > > > > > > wrote: > > > > > > > Author: cperciva > > > > > > > Date: Fri Dec 23 15:00:37 2011 > > > > > > > New Revision: 228843 > > > > > > > URL: http://svn.freebsd.org/changeset/base/228843 > > > > > > >=20 > > > > > > > Log: > > > > > > > Fix a problem whereby a corrupt DNS record can cause > > > > > > > named to crash. [11:06]=20 > > > > > > > Add an API for alerting internal libc routines to the > > > > > > > presence of "unsafe" paths post-chroot, and use it in > > > > > > > ftpd. [11:07] > > > > > >=20 > > > > > > Eh, the whole libc_dlopen() thing looks like a gross hack > > > > > > (and who came up with that weird symbol name for a public > > > > > > API????). Is it really even needed given the other fix to > > > > > > have ftpd drop privilege before execing a helper program? > > > > > > I guess the main reason I don't like it is it doesn't do > > > > > > anything to address the more general problem. I would have > > > > > > expected instead something to restrict dlopen() entirely > > > > > > including from other libraries than just libc in certain > > > > > > circumstances. > > > > >=20 > > > > > At the very least if we feel that the libc_dlopen() thing is a > > > > > temporary band-aid, we should move the new symbols into the > > > > > private namespace so we can remove them once the better fix > > > > > is in rather than being required to support them forever. > > > libc_dlopen() is not exposed. > > > The __FreeBSD_libc_enter_restricted_mode() is, and its name is > > > ugly exactly to note the ugly intent. I do not see how the symbol > > > can go int FBSDprivate_1.0 when it was supposed to be used by > > > third-party applications. > > >=20 > > > Putting this hack into rtld itself IMO has to wide consequences. > > > For libc, we can enumerate the points that stop work after the > > > call, but for the generic applications the consequences are > > > undefined. > > > > >=20 > > > > > --=20 > > > > > John Baldwin > > > >=20 > > > > Pardon for not catching that when I had a chance to influence > > > > the outcome, but I would like to voice my support to tucking the > > > > ugliness into private version namespace. > > > >=20 > > > > --=20 > > > > Alexander Kabaev > > >=20 > > Putting symbol into official namespace implies that we are willing > > to provide and maintain it forever, which I do not think was the > > intent for the function in question. FBSD_PRIVATE says nothing > > about who should and should not link to it, only the level of API > > stability one has to expect in the end. If/when we have better > > security mechanisms (capsicum?) available to users by default, this > > should be ripped out with extreme prejudice. >=20 > The API is offered as a solution to third-parties. Telling them to use > the API that is known to be broken in future is wrong step for the > project, IMO. >=20 > I doubt that proftpd will 'go capsicum'. Then proftp will have to contend with being known security hazard. Spamming every supported branch with the symbol that cries just to support programs that chroot into arbitrary environments and trust anything at all there is wrong step for the project. Committing to support said symbol for all of the eternity is even bigger mistake. =20 --=20 Alexander Kabaev --Sig_/TYfRu/NI0Pads61ub84RGK+ Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iD8DBQFO9MuhQ6z1jMm+XZYRArrcAJ9Vtx8Qnztq9oK0hDH41zttAk1V0ACffqnB erT9XbQjXygPsASPPWRihkM= =0Hoo -----END PGP SIGNATURE----- --Sig_/TYfRu/NI0Pads61ub84RGK+--