Improper handling of NTS cookie length that could crash the ntpd-rs server
High severity
GitHub Reviewed
Published
May 25, 2023
in
pendulum-project/ntpd-rs
•
Updated Nov 4, 2023
Description
Published to the GitHub Advisory Database
May 25, 2023
Reviewed
May 25, 2023
Published by the National Vulnerability Database
May 27, 2023
Last updated
Nov 4, 2023
Impact
ntpd-rs does not validate the length of NTS cookies in received NTP packets to the server. An attacker can crash the server by sending a specially crafted NTP packet containing a cookie shorter than what the server expects. The server also crashes when it is not configured to handle NTS packets.
ntpd-rs running purely as an ntp client is not affected.
Patches
The issue was caused by improper slice indexing. The indexing operations were replaced by safer alternatives that do not crash the ntpd-rs server process but instead properly handle the error condition. A patch was released in version 0.3.3
Workarounds
ntpd-rs running purely as an ntp client is not affected. By default, ntpd-rs packages are not configured to run as a server.
For machines where serving the time is required, there is no known workaround. Users are recommended to upgrade ntpd-rs as soon as possible.
References
pendulum-project/ntpd-rs#752
We would like to thank @mlichvar for identifying this issue
References