NTP Bug 3378

NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low)

  • Date Resolved: 21 Mar 2017
  • References: Sec 3378 / CVE-2017-6451 / VU#325339
  • Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not including ntp-4.3.94.
  • CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P)
  • CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N
  • Summary: The legacy MX4200 refclock is only built if is specifically enabled, and furthermore additional code changes are required to compile and use it. But it uses the libc function snprintf()/vsnprintf() incorrectly, which can lead to an out-of-bounds memory write due to an improper handling of the return value of snprintf()/vsnprintf(). Since the return value is used as an iterator and it can be larger than the buffer’s size, it is possible for the iterator to point somewhere outside of the allocated buffer space. This results in an out-of-bound memory write. This behavior can be leveraged to overwrite a saved instruction pointer on the stack and gain control over the execution flow. During testing it was not possible to identify any malicious usage for this vulnerability. Specifically, no way for an attacker to exploit this vulnerability was ultimately unveiled. However, it has the potential to be exploited, so the code should be fixed.
  • Mitigation, if you have a Magnavox MX4200 refclock:
  • Credit: This weakness was discovered by Cure53.

This topic: Main > SecurityNotice > NtpBug3378
Topic revision: r1 - 2017-03-22 - 01:39:00 - HarlanStenn
SSL security by CAcert
Get the CAcert Root Certificate
This site is powered by the TWiki collaboration platform
IPv6 Ready
Copyright &© 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding the site? Send feedback