Synopsis: Low: lftp security and bug fix update
Issue date: 2009-09-02
CVE Names: CVE-2007-2348
CVE-2007-2348 lftp mirror --script does not escape names and targets of
symbolic links
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. (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)
SL 5.x
SRPMS:
lftp-3.7.11-4.el5.src.rpm
i386:
lftp-3.7.11-4.el5.i386.rpm
x86_64:
lftp-3.7.11-4.el5.x86_64.rpm
-Connie Sieh
-Troy Dawson
|