ports/68268: [PATCH] SECURITY UPDATE isc-dhcp3-server to 3.0.1rc14
Xin LI
delphij at frontfree.net
Thu Jun 24 08:01:00 UTC 2004
>Number: 68268
>Category: ports
>Synopsis: [PATCH] SECURITY UPDATE isc-dhcp3-server to 3.0.1rc14
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Thu Jun 24 08:00:43 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Xin LI
>Release: FreeBSD 5.2-delphij i386
>Organization:
The FreeBSD Simplified Chinese Project
>Environment:
System: FreeBSD beastie.frontfree.net 5.2-delphij FreeBSD 5.2-delphij #78: Mon Jun 21 23:19:51 CST 2004 delphij at beastie.frontfree.net:/usr/obj/usr/src/sys/BEASTIE i386
>Description:
The attached patch upgrades isc-dhcp3-server to 3.0.1rc14, which is a
security update. An vuxml entry should be added to warn users about
the vulnerablities found in isc-dhcp3-server 3.0.1rc12 - 3.0.1rc13.
Maintainer, please review my patch and consider approving it, thanks
in advance!
According to US-CERT Technical Cyber Security Alert TA04-174A -- MultipleVulnerabilities in ISC DHCP 3:
Two vulnerabilities in the ISC DHCP allow a remote attacker to cause a
denial of the DHCP service on a vulnerable system. It may be possible
to exploit these vulnerabilities to execute arbitrary code on the
system.
>How-To-Repeat:
>Fix:
Apply the attached patch, then remove zero-sized file (files/patch-freebsd)
--- patch-isc begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/net/isc-dhcp3-server/Makefile,v
retrieving revision 1.96
diff -u -r1.96 Makefile
--- Makefile 18 Jun 2004 07:40:43 -0000 1.96
+++ Makefile 24 Jun 2004 07:41:32 -0000
@@ -7,8 +7,7 @@
#
PORTNAME= dhcp
-PORTVERSION= 3.0.1.r12
-PORTREVISION= 3
+PORTVERSION= 3.0.1.r14
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_ISC}
MASTER_SITE_SUBDIR= dhcp dhcp/dhcp-3.0-history
@@ -113,7 +112,7 @@
BIN_FILES= dhcrelay
RC_FILES= isc-dhcrelay
.endif
-DOC_FILES= ANONCVS CHANGES COPYRIGHT README RELNOTES
+DOC_FILES= LICENSE README RELNOTES
SAMP_SUFX= .sample
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/net/isc-dhcp3-server/distinfo,v
retrieving revision 1.46
diff -u -r1.46 distinfo
--- distinfo 11 Mar 2004 13:03:53 -0000 1.46
+++ distinfo 24 Jun 2004 07:33:25 -0000
@@ -1,2 +1,2 @@
-MD5 (dhcp-3.0.1rc12.tar.gz) = cf00193dcf349c888a62e4462ae1eb9c
-SIZE (dhcp-3.0.1rc12.tar.gz) = 857323
+MD5 (dhcp-3.0.1rc14.tar.gz) = a68074d9ebdeb355c293d9b3645b3c2c
+SIZE (dhcp-3.0.1rc14.tar.gz) = 842712
Index: pkg-message
===================================================================
RCS file: /home/ncvs/ports/net/isc-dhcp3-server/pkg-message,v
retrieving revision 1.5
diff -u -r1.5 pkg-message
--- pkg-message 1 Jun 2004 13:34:27 -0000 1.5
+++ pkg-message 24 Jun 2004 07:48:28 -0000
@@ -9,9 +9,9 @@
dhcpd_conf="%%PREFIX%%/etc/dhcpd.conf" # configuration file
dhcpd_ifaces="" # ethernet interface(s)
-**** For instance, rc.conf like variables are still read from %%PREFIX%%\
- /etc/rc.isc-dhcpd.conf. They should be move into /etc/rc.conf. Also,
- the dhcpd_options variable must be renamed dhcpd_flags.
+**** For instance, rc.conf like variables are still read from
+ %%PREFIX%%/etc/rc.isc-dhcpd.conf. They should be move into /etc/rc.conf.
+ Also, the dhcpd_options variable must be renamed dhcpd_flags.
**** If compiled with paranoia support (the default), the following options
are also supported:
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/net/isc-dhcp3-server/pkg-plist,v
retrieving revision 1.27
diff -u -r1.27 pkg-plist
--- pkg-plist 16 Mar 2004 20:31:15 -0000 1.27
+++ pkg-plist 24 Jun 2004 07:44:01 -0000
@@ -3,9 +3,7 @@
etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh
sbin/dhcpd
-%%PORTDOCS%%%%DOCSDIR%%/ANONCVS
-%%PORTDOCS%%%%DOCSDIR%%/CHANGES
-%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/LICENSE
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/RELNOTES
%%PORTDOCS%%@dirrm %%DOCSDIR%%
Index: files/patch-Makefile.dist
===================================================================
RCS file: /home/ncvs/ports/net/isc-dhcp3-server/files/patch-Makefile.dist,v
retrieving revision 1.1
diff -u -r1.1 patch-Makefile.dist
--- files/patch-Makefile.dist 17 Jan 2004 23:09:02 -0000 1.1
+++ files/patch-Makefile.dist 24 Jun 2004 07:33:56 -0000
@@ -1,25 +1,8 @@
---- Makefile.dist.orig Fri Nov 8 00:10:08 2002
-+++ Makefile.dist Tue Apr 29 00:07:43 2003
-@@ -3,13 +3,13 @@
- # Copyright (c) 1996-2002 Internet Software Consortium.
- # Use is subject to license terms which appear in the file named
- # ISC-LICENSE that should have accompanied this file when you
--# received it. If a file named ISC-LICENSE did not accompany this
-+# received it. If a file named ISC-LICENSE did not accompany this
- # file, or you are not sure the one you have is correct, you may
- # obtain an applicable copy of the license at:
- #
--# http://www.isc.org/isc-license-1.0.html.
-+# http://www.isc.org/isc-license-1.0.html.
- #
--# This file is part of the ISC DHCP distribution. The documentation
-+# This file is part of the ISC DHCP distribution. The documentation
- # associated with this file is listed in the file DOCUMENTATION,
- # included in the top-level directory of this release.
- #
-@@ -17,47 +17,200 @@
- # http://www.isc.org for more information.
- #
+--- Makefile.dist.orig Fri Jun 11 01:59:10 2004
++++ Makefile.dist Thu Jun 24 15:33:16 2004
+@@ -22,47 +22,200 @@
+ # http://www.isc.org/
+
-SUBDIRS= common $(MINIRES) dst omapip server client relay dhcpctl
+COMMON_SUBDIRS= common
Index: files/patch-freebsd
===================================================================
RCS file: files/patch-freebsd
diff -N files/patch-freebsd
--- files/patch-freebsd 16 Mar 2004 20:31:15 -0000 1.9
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
---- client/scripts/freebsd.orig Sun Apr 27 21:44:01 2003
-+++ client/scripts/freebsd Wed Mar 3 02:28:29 2004
-@@ -16,7 +16,7 @@
- ( echo search $new_domain_name >/etc/resolv.conf )
- exit_status=$?
- else
-- rm /etc/resolv.conf
-+ ( rm /etc/resolv.conf )
- exit_status=$?
- fi
- if [ $exit_status -ne 0 ]; then
-@@ -32,17 +32,17 @@
- # Must be used on exit. Invokes the local dhcp client exit hooks, if any.
- exit_with_hooks() {
- exit_status=$1
-- if [ -f /etc/dhclient-exit-hooks ]; then
-- . /etc/dhclient-exit-hooks
-+ if [ -f %%PREFIX%%/etc/dhclient-exit-hooks ]; then
-+ . %%PREFIX%%/etc/dhclient-exit-hooks
- fi
- # probably should do something with exit status of the local script
- exit $exit_status
- }
-
- # Invoke the local dhcp client enter hooks, if they exist.
--if [ -f /etc/dhclient-enter-hooks ]; then
-+if [ -f %%PREFIX%%/etc/dhclient-enter-hooks ]; then
- exit_status=0
-- . /etc/dhclient-enter-hooks
-+ . %%PREFIX%%/etc/dhclient-enter-hooks
- # allow the local script to abort processing of this state
- # local script must set exit_status variable to nonzero.
- if [ $exit_status -ne 0 ]; then
-@@ -51,11 +51,11 @@
- fi
-
- if [ x$new_network_number != x ]; then
-- $LOGGER New Network Number: $new_network_number
-+ $LOGGER "New Network Number: $new_network_number"
- fi
-
- if [ x$new_broadcast_address != x ]; then
-- $LOGGER New Broadcast Address: $new_broadcast_address
-+ $LOGGER "New Broadcast Address: $new_broadcast_address"
- new_broadcast_arg="broadcast $new_broadcast_address"
- fi
- if [ x$old_broadcast_address != x ]; then
-@@ -71,6 +71,15 @@
- alias_subnet_arg="netmask $alias_subnet_mask"
- fi
-
-+# Get the interface to which our default route is bound to.
-+if [ -x /usr/bin/netstat ]; then
-+ if_defaultroute=`/usr/bin/netstat -rn \
-+ | /usr/bin/grep "^default" \
-+ | /usr/bin/awk '{print $6}'`
-+else
-+ if_defaultroute=""
-+fi
-+
- if [ x$reason = xMEDIUM ]; then
- eval "ifconfig $interface $medium"
- eval "ifconfig $interface inet -alias 0.0.0.0 $medium" >/dev/null 2>&1
-@@ -113,7 +122,10 @@
- eval "ifconfig $interface inet -alias $old_ip_address $medium"
- route delete $old_ip_address 127.1 >/dev/null 2>&1
- for router in $old_routers; do
-- route delete default $router >/dev/null 2>&1
-+ if [ x$if_defaultroute = x ] || [ x$if_defaultroute = x$interface ]
-+ then
-+ route delete default $router >/dev/null 2>&1
-+ fi
- done
- if [ -n "$old_static_routes" ]; then
- set -- $old_static_routes
--- patch-isc ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list