Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Oct 1999 16:03:28 +0100 (BST)
From:      aledm@alice.net.uk
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/14350: disable ICMP Timestamp reply
Message-ID:  <199910151503.QAA26025@dinah.alice.net.uk>

next in thread | raw e-mail | index | archive | help

>Number:         14350
>Category:       kern
>Synopsis:       Security enhancement to ICMP
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 15 22:50:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Aled Morris
>Release:        FreeBSD 3.2-RELEASE i386
>Organization:
Alice Networks Ltd.
>Environment:

Stock 3.2 system installed in "security conscious" site

>Description:

User wanted to disable sending of replies to ICMP Timestamp requests

>How-To-Repeat:

FreeBSD has no knob to control this.

>Fix:
	
I implemented this knob; I defaulted it to "don't reply" which is permitted by
RFC1122 ("A host MAY implement Timestamp and Timestamp Reply." p.43)
Personally I'd probably leave it enabled on systems I run.



*** netinet/icmp_var.h.dist	Fri Dec  4 04:21:25 1998
--- netinet/icmp_var.h	Mon Oct 11 18:59:58 1999
***************
*** 68,80 ****
  #define	ICMPCTL_MASKREPL	1	/* allow replies to netmask requests */
  #define	ICMPCTL_STATS		2	/* statistics (read-only) */
  #define ICMPCTL_ICMPLIM		3
! #define ICMPCTL_MAXID		4
  
  #define ICMPCTL_NAMES { \
  	{ 0, 0 }, \
  	{ "maskrepl", CTLTYPE_INT }, \
  	{ "stats", CTLTYPE_STRUCT }, \
  	{ "icmplim", CTLTYPE_INT }, \
  }
  
  #ifdef KERNEL
--- 68,82 ----
  #define	ICMPCTL_MASKREPL	1	/* allow replies to netmask requests */
  #define	ICMPCTL_STATS		2	/* statistics (read-only) */
  #define ICMPCTL_ICMPLIM		3
! #define ICMPCTL_TIMEREPL	4
! #define ICMPCTL_MAXID		5
  
  #define ICMPCTL_NAMES { \
  	{ 0, 0 }, \
  	{ "maskrepl", CTLTYPE_INT }, \
  	{ "stats", CTLTYPE_STRUCT }, \
  	{ "icmplim", CTLTYPE_INT }, \
+ 	{ "timerepl", CTLTYPE_INT }, \
  }
  
  #ifdef KERNEL
*** netinet/ip_icmp.c.dist	Sat Mar  6 23:11:41 1999
--- netinet/ip_icmp.c	Mon Oct 11 18:57:41 1999
***************
*** 65,70 ****
--- 65,74 ----
  SYSCTL_STRUCT(_net_inet_icmp, ICMPCTL_STATS, stats, CTLFLAG_RD,
  	&icmpstat, icmpstat, "");
  
+ static int	icmptimerepl = 0;
+ SYSCTL_INT(_net_inet_icmp, ICMPCTL_TIMEREPL, timerepl, CTLFLAG_RW,
+ 	&icmptimerepl, 0, "");
+ 
  static int	icmpmaskrepl = 0;
  SYSCTL_INT(_net_inet_icmp, ICMPCTL_MASKREPL, maskrepl, CTLFLAG_RW,
  	&icmpmaskrepl, 0, "");
***************
*** 406,411 ****
--- 410,417 ----
  		goto reflect;
  
  	case ICMP_TSTAMP:
+ 		if (icmptimerepl == 0)
+ 			break;
  		if (!icmpbmcastecho
  		    && (m->m_flags & (M_MCAST | M_BCAST)) != 0) {
  			icmpstat.icps_bmcasttstamp++;


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199910151503.QAA26025>