Subject: Re: FreeBSD Security Advisory: FreeBSD-SA-98:03.ttcp
To: None <tech-security@NetBSD.ORG>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-security
Date: 05/15/1998 12:37:55
Does someone know if we are affected by this ?

On May 14, FreeBSD Security Officer wrote
> -----BEGIN PGP SIGNED MESSAGE-----
> 
> =============================================================================
> FreeBSD-SA-98:03                                            Security Advisory
>                                                                 FreeBSD, Inc.
> 
> Topic:          Problems with TTCP
> 
> Category:       core
> Module:         kernel
> Announced:      1998-05-14
> Affects:        FreeBSD 2.1.*
> 		FreeBSD 2.2.*,
> 		FreeBSD-stable before 1998/05/14 and
> 		FreeBSD-current before 1998/05/05 suffer from this problem.
> Corrected:      FreeBSD-3.0-current as of 1998/05/14
> 		FreeBSD-2.2-stable as of 1998/05/05
> FreeBSD only:   No. Any other system incorporating TTCP extentions may be
>                 affected.
> 
> Patches:        ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-98:03/
> 
> I.   Background    
> 
> 
>      RFC 1644 provides an extension to TCP called TCP Extensions for
>      Transactions, or shortly T/TCP. It provides a way of bypassing
>      the standard three-way handshake found in TCP, thus speeding up
>      transactions.
>      T/TCP has been incorporated in FreeBSD since FreeBSD 2.0.5.
> 
> II.  Problem Description
> 
>      An accelerated open is initiated by a client by sending a new
>      TCP option, called CC, to the server.  The kernel keeps a
>      special cache for each host it communicated with, among others
>      containing the value of the last CC option used by the client.
>      A new accelerated open is allowed when the CC sent is larger
>      than the one in the per-host cache. Thus one can spoof complete
>      connections.
>      
> III. Impact
>      
>      The hole can be used to obtain unauthorized acces to the system
>      by spoofing connections to the r*-services. This can only be
>      done in the case where an .rhost file and/or a host.equiv file
>      is used as the sole method of authentication.
> 
> IV.  Workaround
> 
>      Disable all r-* services. Note that setting the kernel variable
>      net.inet.tcp.rfc1644 to 0 does not solve the problem. This
>      variable controls whether the system will initiate rfc1644
>      based connections and does not affect the ability to receive
>      such connections.
> 
> V.   Solution
> 
> 
>      Apply the following patch, rebuild your kernel, install it
>      and reboot your system. the patch is valid for 2.2.* as well as
>      2.2-stable and 3.0-current systems.
> 
>      The patch below can be found on
> 	ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-98:03/
> 
>   Index: tcp_input.c
>   ===================================================================
>   RCS file: /home/cvsup/freebsd/CVS/src/sys/netinet/tcp_input.c,v
>   retrieving revision 1.74
>   retrieving revision 1.75
>   diff -u -r1.74 -r1.75
>   --- tcp_input.c	1998/04/24 10:08:57	1.74
>   +++ tcp_input.c	1998/05/04 17:59:52	1.75
>   @@ -680,7 +680,9 @@
>    		 * - otherwise do a normal 3-way handshake.
>    		 */
>    		if ((to.to_flag & TOF_CC) != 0) {
>   -		    if (taop->tao_cc != 0 && CC_GT(to.to_cc, taop->tao_cc)) {
>   +		    if (tp->t_state & TF_NOPUSH &&
>   +			taop->tao_cc != 0 && CC_GT(to.to_cc, taop->tao_cc)) {
>   +
>    			taop->tao_cc = to.to_cc;
>    			tp->t_state = TCPS_ESTABLISHED;
>    
>   
>   
> =============================================================================
> FreeBSD, Inc.
> 
> Web Site:                       http://www.freebsd.org/
> Confidential contacts:          security-officer@freebsd.org
> Security notifications:         security-notifications@freebsd.org
> Security public discussion:     freebsd-security@freebsd.org
> PGP Key:                ftp://ftp.freebsd.org/pub/FreeBSD/CERT/public_key.asc
> 
> Notice: Any patches in this document may not apply cleanly due to
>         modifications caused by digital signature or mailer software.
>         Please reference the URL listed at the top of this document
>         for original copies of all patches if necessary.
> =========================================================================
> 
> -----BEGIN PGP SIGNATURE-----
> Version: 2.6.2
> 
> iQCVAwUBNVtEuVUuHi5z0oilAQGIqQP9FTHxJWljLSFskaF34/GvPBfCuxiJdxPo
> LLPG3GF2NsUFYSwuj5PnM61n6ByX9Ryoq/FO5kXr6nF6gOt3H+1YbgCUmWfpx5aN
> GFRdanUzuVJ7ipusehwmgULMXknaDJksV+j7VyaYfa0VheYwbMXKkzdG03/0kioz
> 2Scwf+BJ8CI=
> =F0vQ
> -----END PGP SIGNATURE-----
> 
> This is the moderated mailing list freebsd-announce.
> The list contains announcements of new FreeBSD capabilities,
> important events and project milestones.
> See also the FreeBSD Web pages at http://www.freebsd.org
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-announce" in the body of the message

-- 
--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
     {Net,Free}BSD: 21 ans d'experience feront toujours la difference
--