svn commit: r252630 - head/sbin/dhclient

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Jul 3 22:18:40 UTC 2013


Author: pjd
Date: Wed Jul  3 22:18:40 2013
New Revision: 252630
URL: http://svnweb.freebsd.org/changeset/base/252630

Log:
  MFp4 @229484:
  
  Limit routing socket so only poll(2) and read(2) are allowed (CAP_POLL_EVENT
  and CAP_READ). This prevents unprivileged process from adding, removing or
  modifying system routes.
  
  Reviewed by:	brooks
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sbin/dhclient/dhclient.c

Modified: head/sbin/dhclient/dhclient.c
==============================================================================
--- head/sbin/dhclient/dhclient.c	Wed Jul  3 22:17:29 2013	(r252629)
+++ head/sbin/dhclient/dhclient.c	Wed Jul  3 22:18:40 2013	(r252630)
@@ -492,6 +492,10 @@ main(int argc, char *argv[])
 		add_protocol("AF_ROUTE", routefd, routehandler, ifi);
 	if (shutdown(routefd, SHUT_WR) < 0)
 		error("can't shutdown route socket: %m");
+	if (cap_rights_limit(routefd, CAP_POLL_EVENT | CAP_READ) < 0 &&
+	    errno != ENOSYS) {
+		error("can't limit route socket: %m");
+	}
 
 	if (chroot(_PATH_VAREMPTY) == -1)
 		error("chroot");


More information about the svn-src-all mailing list