COMMAND
inetd
SYSTEMS AFFECTED
FreeBSD 3.x, 4.x
PROBLEM
'dynamo' found following. The inetd ident server is an
implementation of the RFC1413 identification server which returns
the local username of the user connecting to a remote service.
During internal auditing, the internal ident server in inetd was
found to incorrectly set group privileges according to the user.
Due to ident using root's group permissions, users may read the
first 16 (excluding initial whitespace) bytes of wheel-accessible
files. This is only true if the internal ident service is run
using the '-f' flag.
An additional problem with the '-f' flag is that under certain
circumstances the child inetd process can be made to block,
potentially allowing a resource starvation condition on the
server.
Users can read the first 16 bytes of wheel-accessible files. To
determine which may be potentially read, execute the following
command as root:
# find / -group wheel \( -perm -40 -a \! -perm +4 \) -ls
The inetd internal ident server is not enabled by default. If you
have not enabled the ident portion of inetd, you are not
vulnerable.
SOLUTION
Disable the internal ident server, if enabled: comment out all
lines beginning with "auth" in /etc/inetd.conf, then restart
inetd by sending it a SIGHUP:
# killall -HUP inetd
Fix:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:11/inetd-4.2.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:11/inetd-3.5.1.patch