An open API service providing security vulnerability metadata for many open source software ecosystems.

GSA_kwCzR0hTQS12ODNxLTgzaGotcnczOM4ABE51

Moderate CVSS: 5.3

ntpd NTS client denial of service via wrongly sized cookies

Affected Packages Affected Versions Fixed Versions
cargo:ntpd < 1.5.0 1.5.0
0 Dependent packages
0 Dependent repositories
42,401 Downloads total

Affected Version Ranges

All affected versions

0.1.0, 0.1.1, 0.3.1, 0.3.2, 0.3.3, 0.3.5, 0.3.6, 0.3.7, 1.0.0, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.4.0

All unaffected versions

1.5.0, 1.6.0, 1.6.1

Two denial of service vulnerabilities were found in ntpd-rs related to the handling of NTS cookies in our client functionality. Whenever an NTS source is configured and the server behind that source is sending zero-sized cookies or cookies larger than what would fit in our buffer size, ntpd-rs would crash. Only configured NTS sources can abuse these vulnerabilities. NTP sources or third parties that are not configured cannot make use of these vulnerabilities.

For zero-sized cookies: a division by zero would force an exit when the number of new cookies that would need to be requested is calculated. In ntpd-rs 1.5.0 a check was added to prevent the division by zero.

For large cookies: while trying to send a NTP request with the cookie included, the buffer is too small to handle the cookie and an exit of ntpd-rs is forced once a write to the buffer is attempted. The memory outside the buffer would not be written to in this case. In ntpd-rs 1.5.0 a check was added that prevents accepting cookies larger than 350 bytes.

Users of older versions of ntpd-rs are recommended to update to the latest version. If an update is impossible, it is recommended to only add NTS sources to ntpd-rs that are trusted to not abuse this bug.

References: