Security Advisory Moderate: vsftpd security and bug fix update

Advisory: RHSA-2008:0680-11
Type: Security Advisory
Severity: Moderate
Issued on: 2008-07-24
Last updated on: 2008-07-24
Affected Products: Red Hat Enterprise Linux AS (v. 4)
Red Hat Enterprise Linux ES (v. 4)
OVAL: com.redhat.rhsa-20080680.xml
CVEs (cve.mitre.org): CVE-2008-2375

Details

An updated vsftpd package that fixes a security issue and various bugs is
now available.

This update has been rated as having moderate security impact by the Red
Hat Security Response Team.

vsftpd (Very Secure File Transfer Protocol (FTP) daemon) is a secure FTP
server for Linux and Unix-like systems.

The version of vsftpd as shipped in Red Hat Enterprise Linux 4 when used in
combination with Pluggable Authentication Modules (PAM) had a memory leak
on an invalid authentication attempt. Since vsftpd prior to version 2.0.5
allows any number of invalid attempts on the same connection this memory
leak could lead to an eventual DoS. (CVE-2008-2375)

This update mitigates this security issue by including a backported patch
which terminates a session after a given number of failed log in attempts.
The default number of attempts is 3 and this can be configured using the
"max_login_fails" directive.

This package also addresses the following bugs:

* when uploading unique files, a bug in vsftpd caused the file to be saved
with a suffix '.1' even when no previous file with that name existed. This
issues is resolved in this package.

* when vsftpd was run through the init script, it was possible for the init
script to print an 'OK' message, even though the vsftpd may not have
started. The init script no longer produces a false verification with this
update.

* vsftpd only supported usernames with a maximum length of 32 characters.
The updated package now supports usernames up to 128 characters long.

* a system flaw meant vsftpd output could become dependent on the timing or
sequence of other events, even when the "lock_upload_files" option was set.
If a file, filename.ext, was being uploaded and a second transfer of the
file, filename.ext, was started before the first transfer was finished, the
resultant uploaded file was a corrupt concatenation of the latter upload
and the tail of the earlier upload. With this updated package, vsftpd
allows the earlier upload to complete before overwriting with the latter
upload, fixing the issue.

* the 'lock_upload_files' option was not documented in the manual page. A
new manual page describing this option is included in this package.

* vsftpd did not support usernames that started with an underscore or a
period character. These special characters are now allowed at the beginning
of a username.

* when storing a unique file, vsftpd could cause an error for some clients.
This is rectified in this package.

* vsftpd init script was found to not be Linux Standards Base compliant.
This update corrects their exit codes to conform to the standard.

All vsftpd users are advised to upgrade to this updated package, which
resolves these issues.


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/FAQ_58_10188

Updated packages

Red Hat Enterprise Linux AS (v. 4)

SRPMS:
vsftpd-2.0.1-6.el4.src.rpm     d6f58bec008e6c915f91f00b8513ca73
 
IA-32:
vsftpd-2.0.1-6.el4.i386.rpm     aa94023e3b5d484b152caf4a8a8e4c2b
 
IA-64:
vsftpd-2.0.1-6.el4.ia64.rpm     0c45d5c435f0a9f5e9356f1a69cc65e2
 
PPC:
vsftpd-2.0.1-6.el4.ppc.rpm     92f18cd19953e7be7d916435551912e5
 
s390:
vsftpd-2.0.1-6.el4.s390.rpm     60f2d4ca61aa0a927e876bfbbf1d9a99
 
s390x:
vsftpd-2.0.1-6.el4.s390x.rpm     348e604ac24c685c0cf0e5f8e536e958
 
x86_64:
vsftpd-2.0.1-6.el4.x86_64.rpm     ac5d36e51a1bbf872a9e596be88f6e73
 
Red Hat Enterprise Linux ES (v. 4)

SRPMS:
vsftpd-2.0.1-6.el4.src.rpm     d6f58bec008e6c915f91f00b8513ca73
 
IA-32:
vsftpd-2.0.1-6.el4.i386.rpm     aa94023e3b5d484b152caf4a8a8e4c2b
 
IA-64:
vsftpd-2.0.1-6.el4.ia64.rpm     0c45d5c435f0a9f5e9356f1a69cc65e2
 
x86_64:
vsftpd-2.0.1-6.el4.x86_64.rpm     ac5d36e51a1bbf872a9e596be88f6e73
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

197141 - vsftpd 2.0.1 memory leak
206843 - vsftpd is checked wrongly in init script
236326 - maximum username length too short
240550 - vsftpd has a create/lock race condition which corrupts uploads
250727 - Uploaded file corrupted when two connections from same client uploading same file simultaneously
316381 - lock_upload_files not documented in vsftpd.conf man page
408431 - Memory leak in pattern matching function
431450 - Wrong init script
453376 - CVE-2008-2375 older vsftpd authentication memory leak


References



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/