Bug Fix Advisory vsftpd bug fix update

Advisory: RHBA-2009:1282-1
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2009-09-02
Last updated on: 2009-09-02
Affected Products: RHEL Desktop Workstation (v. 5 client)
Red Hat Enterprise Linux (v. 5 server)
OVAL: N/A

Details

A vsftpd update that increases the maximum username length and fixes
several bugs is now available.

The vsftpd package deploys the Very Secure File Transfer Protocol daemon.
This daemon enables secure and fast FTP service on Unix-like systems,
providing SSL encryption, IPv6, bandwidth throttling, PAM integration,
virtual users, virtual IPs and per-user/per-IP configuration.

This update applies the following bug fixes:

* in Red Hat Enterprise Linux 5, the default value for the 'background'
option was changed to 'NO'. This revealed a race condition in the way
vsftpd processed signals whenever child processes were forked. As a result
of this race condition, attempts to run vsftpd could fail without returning
an error code if another FTP service was also running. In this situation, a
user would not be notified that vsftpd failed to run. This update
implements extra routines for signal handling that fixes the race
condition, ensuring that vsftpd returns a proper error code whenever it
fails to start. (BZ#236707)

* the init script for this update is now POSIX-compliant. This corrects a
bug that could cause vsftpd to incorrectly return a zero exit code when it
failed to start. (BZ#431451)

* a bug in the dependencies between vsftpd parent and child processes
allowed those child processes to run even though their parent process was
already terminated. As such, terminating the vsftpd service did not
reliably stop all FTP connections initiated by vsftpd, which could pose a
security risk. This update fixes the child-parent process dependency bug by
adding several functions that terminate all vsftpd child processes whenever
their parent process is stopped. (BZ#441485)

* a bug caused the vsftpd daemon to not properly shut down SSL (Secure
Socket Layer) data connections, which led to interoperability problems
between the vsftpd daemon and client programs such as FileZilla. This has
been fixed in this update so that vsftpd no longer causes problems with
client applications. (BZ#459607)

* in previous versions of vsftpd, /etc/vsftpd/vsftpd.conf specified
/var/log/vsftpd.log as its default log file. However, this was different
from the specified default log file (i.e. /var/log/xferlog) in
/etc/logrotate.d/vsftpd.log. This prevented the logrotate script from
finding -- and consequently, rotating -- the vsftpd log file, resulting in
an unnecessarily large vsftpd log. This update corrects this issue by
specifying /var/log/xferlog as its default log file in
/etc/vsftpd/vsftpd.conf, which enables log rotation on vsftpd log files.
(BZ#460067)

* this update also fixes several typographical errors in the documentation
of some parameters in the vsftpd man page. (BZ#478526)

* vsftpd cannot locate usernames specified by the chown_username parameter
if the username is trailed by whitespace. This update contains a workaround
that trims trailing whitespaces from username values of chown_username.
(BZ#486259)

* the maximum username length is now 128 characters. In previous versions,
the maximum username was only 32 characters. (BZ#486524)

* the DNS reverse lookup feature was implemented without any way to disable
it. This update contains the parameter 'reverse_lookup_enable', which
allows users to enable or disable the DNS reverse lookup functionality.
(BZ#498548)

Users of vsftpd are advised to upgrade to this update.


Solution

Before applying this update, make sure that all previously-released
errata relevant to your system have been applied.

This update is available via Red Hat Network. Details on how to use
the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/docs/DOC-11259

Updated packages

RHEL Desktop Workstation (v. 5 client)

SRPMS:
vsftpd-2.0.5-16.el5.src.rpm     8d8cbc9c4cbb7b7160fcde5e39dbc193
 
IA-32:
vsftpd-2.0.5-16.el5.i386.rpm     d708d260cafd828c9914af9972e4dc7f
 
x86_64:
vsftpd-2.0.5-16.el5.x86_64.rpm     9a0e9992600f80e3c7fd60cc2eabeaaa
 
Red Hat Enterprise Linux (v. 5 server)

SRPMS:
vsftpd-2.0.5-16.el5.src.rpm     8d8cbc9c4cbb7b7160fcde5e39dbc193
 
IA-32:
vsftpd-2.0.5-16.el5.i386.rpm     d708d260cafd828c9914af9972e4dc7f
 
IA-64:
vsftpd-2.0.5-16.el5.ia64.rpm     132146fe80251554eeeaa77684663a4d
 
PPC:
vsftpd-2.0.5-16.el5.ppc.rpm     532c9fe73f543f9dc6e12e0a94e32288
 
s390x:
vsftpd-2.0.5-16.el5.s390x.rpm     5ca9b39e815362574dd739792f07b4d5
 
x86_64:
vsftpd-2.0.5-16.el5.x86_64.rpm     9a0e9992600f80e3c7fd60cc2eabeaaa
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

236707 - vsftpd would crash without any error messages on bind fail
431451 - Wrong init script
441485 - "service vsftpd stop" not stopping all vsftpd processes
459607 - SSL connections are not correctly shutdown
478526 - man page error about some config options
486259 - white space after chown_username value causes failure
486524 - maximum username length is too short for vsftpd user in RHEL5



These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/