RedHat: RHSA-2009-1278:02 Low: lftp security and bug fix update
Summary
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 metacharacterswhen 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.
(BZ#461922)
* 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.
(BZ#468858)
* 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.
(BZ#504594)
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.
(BZ#308721)
All LFTP users are advised to upgrade to this updated package, which
resolves these issues.
Summary
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
References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2348 http://www.redhat.com/security/updates/classification/#low
Package List
Red Hat Enterprise Linux Desktop (v. 5 client):
Source:
i386:
lftp-3.7.11-4.el5.i386.rpm
lftp-debuginfo-3.7.11-4.el5.i386.rpm
x86_64:
lftp-3.7.11-4.el5.x86_64.rpm
lftp-debuginfo-3.7.11-4.el5.x86_64.rpm
Red Hat Enterprise Linux (v. 5 server):
Source:
i386:
lftp-3.7.11-4.el5.i386.rpm
lftp-debuginfo-3.7.11-4.el5.i386.rpm
ia64:
lftp-3.7.11-4.el5.ia64.rpm
lftp-debuginfo-3.7.11-4.el5.ia64.rpm
ppc:
lftp-3.7.11-4.el5.ppc.rpm
lftp-debuginfo-3.7.11-4.el5.ppc.rpm
s390x:
lftp-3.7.11-4.el5.s390x.rpm
lftp-debuginfo-3.7.11-4.el5.s390x.rpm
x86_64:
lftp-3.7.11-4.el5.x86_64.rpm
lftp-debuginfo-3.7.11-4.el5.x86_64.rpm
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
![Dist Redhat](/images/distros/dist-redhat.png)
Topic
An updated lftp package that fixes one security issue and various bugs isnow available for Red Hat Enterprise Linux 5.This update has been rated as having low security impact by the Red HatSecurity Response Team.
Topic
Relevant Releases Architectures
Red Hat Enterprise Linux Desktop (v. 5 client) - i386, x86_64
Red Hat Enterprise Linux (v. 5 server) - i386, ia64, ppc, s390x, x86_64
Bugs Fixed
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.