Description of problem:
Jan Minar has reported the following problem present in Vim shellescape()
function implementation and demonstrated by testcases in tar.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 (tarplugin, tarplugin.v2 and tarplugin.updated test cases).
CVE-2008-3074 has been pre-assigned and used in rPath advisory:
This issue affects does not affect the versions of 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 Enterprise Linux 5 and Fedora releases 8 and 9 (only Vim 7.0 and 7.1
This issue does not affect the version of the Vim package, as shipped
in Fedora rawhide release (already 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-3074 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 tar
archive and possibly (2) the filename of the first file in a tar
archive, which is not properly handled by the VIM TAR plugin (tar.vim)
v.10 through v.22, as demonstrated by the shellescape, tarplugin.v2,
tarplugin, and tarplugin.updated 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-3075. 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.