Subject: security/9674: Bugs and documentation errors in racoon(8)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <root@ihack.net>
List: netbsd-bugs
Date: 03/26/2000 02:24:16
>Number: 9674
>Category: security
>Synopsis: Bugs and documentation errors in racoon(8)
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: security-officer (NetBSD Security Officer)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Mar 26 02:24:00 2000
>Last-Modified:
>Originator: Charles M. Hannum
>Organization:
Internetwork Hacker
>Release: -current as of 20000321
>Environment:
n/a
>Description:
There are many bugs in both the implementation and the
documentation of racoon(8). Namely:
* The example does not show any `encryption_algorithm' or
`authentication_algorithm' in the `proposal esp' stanza, but
the former is required. If it is not present, the proposal
is not linked into the policy structure, and the IPsec-SA
fails by failing to send any packets and timing out (a very
difficult problem to analyze).
* I have not been able to get the IPsec-SA negotiation to work
when a pfs_group is specified (as in the example).
* The syntax description lists `nonce_size' as a valid
statement in a protocol stanza, but it is not accepted by the
parser.
* The documentation does not mention that a SPD entry must be
added separately (i.e. with setkey(8)) for IPsec-SA
negotiation to work at all. (This is also lame. racoon(8)
should be able to generate the SPD entries itself.)
* In cases where we are unable to communicate after a SAD entry
is created (e.g. because of a mismatch between the manually
added SPD entries and racoon.conf(5), or because of a
configuration error), we keep adding more and more SAD
entries.
* The byte count soft limit does not appear to do anything.
* When the byte count hard limit is exceeded, the SAD entry is
deleted. However, this leaves the SAD entry in the other
direction around. When a packet is sent in the one direction
again, a new IPsec-SA is negotiated, resulting in a new pair
of SAD entries. The unpaired SAD entry is still retained.
It eventually hits its soft limit and causes a second complete
pair to be negotiated, leaving two pairs of SAD entries for
the same two hosts. There should only be one pair, except
when rekeying.
* When using NFS with IPsec (between an i386 and a hpcmips),
with a key lifetime of 10m, between the soft limit (8m) and
the hard limit -- while rekeying is happening -- NFS traffic
is completely stalled.
* No useful diagnostics are produced when a key is missing from
the pre-shared-key file.
>How-To-Repeat:
Try to use racoon(8).
>Fix:
None provided.
>Audit-Trail:
>Unformatted: