Red Hat Bugzilla – Bug 467432
CVE-2008-3075 Vim zip.vim plugin: improper Implementation of shellescape() (arbitrary code execution)
Last modified: 2009-06-11 08:59:12 EDT
Description of problem:
Jan Minar has reported the following problem present in Vim shellescape()
function implementation and demonstrated by testcases in zip.vim plugin:
The implementation of the shellescape() function does not properly
escape all special items, in particular the '!' character). This
can result in untrusted data being insufficiently sanitized
and possibly lead to arbitrary code execution.
To show this vulnerability can be exploited, the tar.vim plugin test cases
has been updated (zipplugin and zipplugin.v2 test cases).
CVE-2008-3075 as been pre-assigned and used in rPath advisory:
CVE-2008-2712 bullet (2)
mentions zipplugin based on same advisory as ZIP-1. According
to ZIP-2 and ZIP-4 the zip.vim / zipplugin.vim has not been
fixed as of Vim 7.2a.19/zip.vim v19, so the bullet (2) --
mention about zipplugin should be removed from CVE-2008-2712.
This issue does not affect the versions of the Vim package, as shipped
with Red Hat Enterprise Linux 2.1, 3 and 4.
This issue affects the versions of the Vim package, as shipped with Red
Hat Enteprise Linux 5 and Fedora releases of 8 and 9 (only Vim 7.0 and
This issue does not affect the version of the Vim package as shipped with
Fedora rawhide release (alredy fixed in Vim 7.2).
This issue was addressed in:
Red Hat Enterprise Linux:
Fedora (updated to upstream 7.2.060):
Common Vulnerabilities and Exposures assigned an identifier CVE-2008-3075 to
the following vulnerability:
The shellescape function in Vim 7.0 through 7.2, including 7.2a.10,
allows user-assisted attackers to execute arbitrary code via the "!"
(exclamation point) shell metacharacter in (1) the filename of a ZIP
archive and possibly (2) the filename of the first file in a ZIP
archive, which is not properly handled by zip.vim in the VIM ZIP
plugin (zipPlugin.vim) v.11 through v.21, as demonstrated by the
zipplugin and zipplugin.v2 test cases. NOTE: this issue reportedly
exists because of an incomplete fix for CVE-2008-2712. NOTE: this
issue has the same root cause as CVE-2008-3074. NOTE: due to the
complexity of the associated disclosures and the incomplete
information related to them, there may be inaccuracies in this CVE
description and in external mappings to this identifier.