[Nagiosplug-checkins] SF.net SVN: nagiosplug:[2052] nagiosplug/trunk
dermoth at users.sourceforge.net
dermoth at users.sourceforge.net
Tue Sep 2 05:42:16 CEST 2008
Revision: 2052
http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=2052&view=rev
Author: dermoth
Date: 2008-09-02 03:42:16 +0000 (Tue, 02 Sep 2008)
Log Message:
-----------
Fix possible segfault in check_ntp_peer with deliberately invalid packets
Modified Paths:
--------------
nagiosplug/trunk/NEWS
nagiosplug/trunk/plugins/check_ntp_peer.c
Modified: nagiosplug/trunk/NEWS
===================================================================
--- nagiosplug/trunk/NEWS 2008-09-01 14:04:22 UTC (rev 2051)
+++ nagiosplug/trunk/NEWS 2008-09-02 03:42:16 UTC (rev 2052)
@@ -11,7 +11,8 @@
check_icmp now supports packet size modification
check_http -e now accepts a comma-delimited list of expected status codes
libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
- check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented.
+ check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
+ Fix possible segfault in check_ntp_peer with deliberately invalid packets
1.4.12 27th May 2008
Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren)
Modified: nagiosplug/trunk/plugins/check_ntp_peer.c
===================================================================
--- nagiosplug/trunk/plugins/check_ntp_peer.c 2008-09-01 14:04:22 UTC (rev 2051)
+++ nagiosplug/trunk/plugins/check_ntp_peer.c 2008-09-02 03:42:16 UTC (rev 2052)
@@ -299,6 +299,9 @@
if(read(conn, &req, SIZEOF_NTPCM(req)) == -1)
die(STATE_CRITICAL, "NTP CRITICAL: No response from NTP server\n");
DBG(print_ntp_control_message(&req));
+ /* discard obviously invalid packets */
+ if (ntohs(req.count) > MAX_CM_SIZE)
+ die(STATE_CRITICAL, "NTP CRITICAL: Invalid paclet received from NTP server\n");
if (LI(req.flags) == LI_ALARM) li_alarm = 1;
/* Each peer identifier is 4 bytes in the data section, which
* we represent as a ntp_assoc_status_pair datatype.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list