[v2.6] chrony: multiple issues fixed (CVE-2015-1853, CVE-2015-1821, CVE-2015-1822)
7 Apr 2015: chrony-1.31.1 released
Security fixes
- Protect authenticated symmetric NTP associations against DoS attacks (CVE-2015-1853)
- Fix access configuration with subnet size indivisible by 4 (CVE-2015-1821)
- Fix initialization of reply slots for authenticated commands (CVE-2015-1822)
CVE-2015-1853: DoS attack on authenticated symmetric NTP associations
An attacker knowing that NTP hosts A and B are peering with each other (symmetric association) can send a packet with random timestamps to host A with source address of B which will set the NTP state variables on A to the values sent by the attacker. Host A will then send on its next poll to B a packet with originate timestamp that doesn’t match the transmit timestamp of B and the packet will be dropped. If the attacker does this periodically for both hosts, they won’t be able to synchronize to each other.
Authentication using a symmetric key can fully protect against this attack, but in implementations following the NTPv3 (RFC 1305) or NTPv4 (RFC 5905) specification the state variables were updated even when the authentication check failed and the association was not protected.
CVE-2015-1821: Heap-based buffer overflow in access configuration
When NTP or cmdmon access was configured (from chrony.conf or via authenticated cmdmon) with a subnet size that is indivisible by 4 and an address that has nonzero bits in the 4-bit subnet remainder (e.g. 192.168.15.0/22 or f000::/3), the new setting was written to an incorrect location, possibly outside the allocated array.
An attacker that has the command key and is allowed to access cmdmon (only localhost is allowed by default) could exploit this to crash chronyd or possibly execute arbitrary code with the privileges of the chronyd process.
CVE-2015-1822: Use of uninitialized pointer in command processing
When allocating memory to save unacknowledged replies to authenticated command requests, the last “next” pointer was not initialized to NULL. When all allocated reply slots were used, the next reply could be written to an invalid memory instead of allocating a new slot for it.
An attacker that has the command key and is allowed to access cmdmon (only localhost is allowed by default) could exploit this to crash chronyd or possibly execute arbitrary code with the privileges of the chronyd process.
References:
http://seclists.org/oss-sec/2015/q2/68
https://bugzilla.redhat.com/show\_bug.cgi?id=CVE-2015-1853
https://bugzilla.redhat.com/show\_bug.cgi?id=CVE-2015-1821
https://bugzilla.redhat.com/show\_bug.cgi?id=CVE-2015-1822
(from redmine: issue id 4164, created on 2015-05-11, closed on 2015-08-06)
- Relations:
- parent #4163 (closed)