Security Advisory Low: lftp security and bug fix update

Advisory: RHSA-2009:1278-2
Type: Security Advisory
Severity: Low
Issued on: 2009-09-02
Last updated on: 2009-09-02
Affected Products: Red Hat Enterprise Linux (v. 5 server)
Red Hat Enterprise Linux Desktop (v. 5 client)
CVEs ( CVE-2007-2348


An updated lftp package that fixes one security issue and various bugs is
now available for Red Hat Enterprise Linux 5.

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

LFTP is a sophisticated file transfer program for the FTP and HTTP
protocols. Like bash, it has job control and uses the readline library for
input. It has bookmarks, built-in mirroring, and can transfer several files
in parallel. It is designed with reliability in mind.

It was discovered that lftp did not properly escape shell metacharacters
when generating shell scripts using the "mirror --script" command. A
mirroring script generated to download files from a malicious FTP server
could allow an attacker controlling the FTP server to run an arbitrary
command as the user running lftp. (CVE-2007-2348)

This update also fixes the following bugs:

* when using the "mirror" or "get" commands with the "-c" option, lftp did
not check for some specific conditions that could result in the program
becoming unresponsive, hanging and the command not completing. For example,
when waiting for a directory listing, if lftp received a "226" message,
denoting an empty directory, it previously ignored the message and kept
waiting. With this update, these conditions are properly checked for and
lftp no longer hangs when "-c" is used with "mirror" or "get". (BZ#422881)

* when using the "put", "mput" or "reput" commands over a Secure FTP (SFTP)
connection, specifying the "-c" option sometimes resulted in corrupted
files of incorrect size. With this update, using these commands over SFTP
with the "-c" option works as expected, and transferred files are no
longer corrupted in the transfer process. (BZ#434294)

* previously, LFTP linked to the OpenSSL library. OpenSSL's license is,
however, incompatible with LFTP's GNU GPL license and LFTP does not include
an exception allowing OpenSSL linking. With this update, LFTP links to the
GnuTLS (GNU Transport Layer Security) library, which is released under the
GNU LGPL license. Like OpenSSL, GnuTLS implements the SSL and TLS
protocols, so functionality has not changed. (BZ#458777)

* running "help mirror" from within lftp only presented a sub-set of the
available options compared to the full list presented in the man page. With
this update, running "help mirror" in lftp presents the same list of mirror
options as is available in the Commands section of the lftp man page.

* LFTP imports gnu-lib from upstream. Subsequent to gnu-lib switching from
GNU GPLv2 to GNU GPLv3, the LFTP license was internally inconsistent, with
LFTP licensed as GNU GPLv2 but portions of the package apparently licensed
as GNU GPLv3 because of changes made by the gnu-lib import. With this
update, LFTP itself switches to GNU GPLv3, resolving the inconsistency.

* when the "ls" command was used within lftp to present a directory listing
on a remote system connected to via HTTP, file names containing spaces were
presented incorrectly. This update corrects this behavior. (BZ#504591)

* the default alias "edit" did not define a default editor. If EDITOR was
not set in advance by the system, lftp attempted to execute
"~/.lftp/edit.tmp.$$" (which failed because the file is not set to
executable). The edit alias also did not support tab-completion of file
names and incorrectly interpreted file names containing spaces. The updated
package defines a default editor (vi) in the absence of a system-defined
EDITOR. The edit alias now also supports tab-completion and handles file
names containing spaces correctly for both downloading and uploading.

Note: This update upgrades LFTP from version 3.7.3 to upstream version
3.7.11, which incorporates a number of further bug fixes to those noted
above. For details regarding these fixes, refer to the
"/usr/share/doc/lftp-3.7.11/NEWS" file after installing this update.

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


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

Updated packages

Red Hat Enterprise Linux (v. 5 server)

File outdated by:  RHBA-2013:0071
    MD5: 607b440a1e5aaebb80038bf92386832b
File outdated by:  RHBA-2013:0071
    MD5: d9c722f21d7d789a78fa9bb7f81c6000
File outdated by:  RHBA-2013:0071
    MD5: f99684232ee58272cfff5ee5ad07abdb
File outdated by:  RHBA-2013:0071
    MD5: e4659a47aebf709ff64b9336ba60e1a1
File outdated by:  RHBA-2013:0071
    MD5: cbda7661bc1aeeb664d93eeaf458bd66
File outdated by:  RHBA-2013:0071
    MD5: 4ef1098a474ae2e44f7bac4e9edec398
Red Hat Enterprise Linux Desktop (v. 5 client)

File outdated by:  RHBA-2013:0071
    MD5: 607b440a1e5aaebb80038bf92386832b
File outdated by:  RHBA-2013:0071
    MD5: d9c722f21d7d789a78fa9bb7f81c6000
File outdated by:  RHBA-2013:0071
    MD5: 4ef1098a474ae2e44f7bac4e9edec398
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

236238 - CVE-2007-2348 lftp mirror --script does not escape names and targets of symbolic links
239334 - lftp affected by problems described in CVE-2007-2348
308721 - bump lftp to current version 3.7.11
422881 - Using lftp with -c options causes hangs
434294 - lftp corrupts data when using (m)put's -c option on sftp transport
461922 - [RHEL 5] lftp 'help mirror' does not display all options defined in manpage.


These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:

The Red Hat security contact is More contact details at