Bug 1299562

Summary: dhcpd/dhclient create an random listening port in addition to UDP 67/68
Product: Red Hat Enterprise Linux 7 Reporter: mpathan
Component: dhcpAssignee: Pavel Zhukov <pzhukov>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: charlieb-fedora-bugzilla, jikortus, jstodola, nchavan, pemensik, psklenar, rhbugs, rpiddapa, santony, thozza
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dhcp-4.2.5-60.el7 Doc Type: If docs needed, set a value
Doc Text:
Cause: dhclient opened additional random port for listening Consequence: Security applications reported issue. Fix: Port are opened only if the DDNS functionality is used by dhclient. Result: No additional port opened in case if DNS update is not in use.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 08:00:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1298243, 1386624, 1420851, 1465887, 1465928    
Attachments:
Description Flags
spawn dns ports on demand later none

Description mpathan 2016-01-18 16:00:08 UTC
Description of problem:


DHClient creates an additional listening port in addition to UDP 68 which seems to be a random registered port value. 


How reproducible:
Install dhclient, start the service and perform a netstat -l -u -p and check each of the ports opened by dhclient.


Actual results:

In this example Opening 60964 port unnecessary :

# netstat -panl |grep dhcl
udp     0   0 0.0.0.0:60964   0.0.0.0:*           7594/dhclient       
udp     0   0 0.0.0.0:68      0.0.0.0:*           7594/dhclient       

Expected results:

It should open only 68 port :

udp     0   0 0.0.0.0:68      0.0.0.0:*           7594/dhclient       

Additional info:

Additional Info:
https://bugzilla.redhat.com/show_bug.cgi?id=962950
http://forums.debian.net/viewtopic.php?f=10&t=95273
http://forums.debian.net/viewtopic.php?f=10&t=95273&p=495605#p495605

Comment 2 Jiri Popelka 2016-03-31 07:41:43 UTC
As described in bug #962950, comment #5 it's libdns (bind package) what opens these ports and that the only workaround I'm aware of is building dhcpd/dhclient without DDNS support which is most likely not what we want. I can reassign this to bind to further investigate whether it'd be possible to not open these ports in libdns during initialization.

Comment 11 Petr Menšík 2017-04-05 17:21:02 UTC
Created attachment 1269039 [details]
spawn dns ports on demand later

Simple fix delaying creation of those ports. I did not check for possible race conditions much, but it seems to fix the issue.

Comment 21 Charlie Brady 2017-08-31 03:08:04 UTC
I think it would be useful for Red Hat to report this bug and the proposed fix to the upstream bug tracker:

https://bugs.isc.org/Public/Dist/Display.html?Name=dhcp-public

Comment 22 Pavel Zhukov 2017-08-31 05:05:54 UTC
*** Bug 1486801 has been marked as a duplicate of this bug. ***

Comment 23 Tomáš Hozza 2017-08-31 08:07:35 UTC
(In reply to Charlie Brady from comment #21)
> I think it would be useful for Red Hat to report this bug and the proposed
> fix to the upstream bug tracker:
> 
> https://bugs.isc.org/Public/Dist/Display.html?Name=dhcp-public

Since we follow the rule "upstream first", this was done months ago...

https://bugs.isc.org/Public/Bug/Display.html?id=45290
https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=commit;h=ca22af89996483efd820de0084c964fc336ee7c1

Comment 28 errata-xmlrpc 2018-04-10 08:00:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0658