Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1171630 - NTP drops requests when sourceport is below 123
NTP drops requests when sourceport is below 123
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ntp (Show other bugs)
6.6
Unspecified Linux
unspecified Severity medium
: rc
: ---
Assigned To: Miroslav Lichvar
Vaclav Danek
:
Depends On:
Blocks: 1171640
  Show dependency treegraph
 
Reported: 2014-12-08 04:20 EST by Konrad Mosoń
Modified: 2015-07-22 03:00 EDT (History)
3 users (show)

See Also:
Fixed In Version: ntp-4.2.6p5-3.el6
Doc Type: Bug Fix
Doc Text:
The ntpd daemon dropped incoming NTP packets if their source port was lower than 123 (the NTP port). As a consequence, clients behind Network Address Translation (NAT) were unable to synchronize with the server if their source port was translated to ports below 123. With this update, ntpd no longer checks the source port number, and clients behind NAT are now able to correctly synchronize with the server.
Story Points: ---
Clone Of:
: 1171640 (view as bug list)
Environment:
Last Closed: 2015-07-22 03:00:10 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Network Time Protocol 2174 None None None Never
Red Hat Product Errata RHSA-2015:1459 normal SHIPPED_LIVE Moderate: ntp security, bug fix, and enhancement update 2015-07-21 10:15:04 EDT

  None (edit)
Description Konrad Mosoń 2014-12-08 04:20:02 EST
Description of problem:

If NTP requests goes through NAT, NAT changes srcport of packet to something random. Sometimes it's below 123 and ntp drops it without any logging.

Source code says (ntpd/ntp_proto.c):

 332     /*
 333      * Bogus port check is before anything, since it probably
 334      * reveals a clogging attack.
 335      */
 336     sys_received++;
 337     if (SRCPORT(&rbufp->recv_srcadr) < NTP_PORT) {
 338         sys_badlength++;
 339         return;             /* bogus port */
 340     }


Version-Release number of selected component (if applicable):
ntp-4.2.6p5-1.el6.centos.x86_64

...but srcrpm for centos7 shows, that it's version have the same problem (ntp-4.2.6p5-18.el7.centos.src.rpm)



How reproducible:
Always when packet srcport is lower than NTP_PORT (123).
For testing purposes you can create NAT that changes srcport to - for example - 121.


Steps to Reproduce:
1. Install NTP server on server-host and client on client-host
2. Configure NAT for client-host so NTP will exit host with srcport lower than 123. (or you can use simple python ntp client found here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=691412)
3. Run `ntpq -p` on client-host. NTP is always in state .INIT. cause server dropped all requests. No logs at all in syslog. No debuglogs even with debuglevel=10.


Actual results:
NTP drops requests without any logging.


Expected results:
Packets are not dropped, or this option is configurable and should log something. Took me few weeks to debug why some servers have problems with ntp :(


Additional info:
http://lists.ntp.org/pipermail/hackers/2009-December/004758.html
http://bugs.ntp.org/show_bug.cgi?id=2174

Debian already fixed that:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=691412
Comment 5 errata-xmlrpc 2015-07-22 03:00:10 EDT
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://rhn.redhat.com/errata/RHSA-2015-1459.html

Note You need to log in before you can comment on or make changes to this bug.