Summary : URL format string injection in CDDA and VCDX plugins Date : 02 January 2007 Affected versions : VLC media player 0.8.6 down to 0.7.0 ID : VideoLAN-SA-0701, MOAB-02-01-2007 CVE reference : CVE-2007-0017
VLC media player CDDA (CD Digital Audio) and VCDX (Video CD) plugins
are prone to a C-style format string vulnerability
when trying to open a media resource location.
The bug occurs when handling error and debug messages
from underlying library libcdio
.
Because the VCDX plugins probes every media resource location unless another plugin successfully opened the resource, almost any invalid location can trigger the bug.
If successful, a malicious third party could use this vulnerability to execute arbitrary code within the context of VLC media player (i.e. acquire local user privileges on the vulnerable system), or crash the player instance.
Exploitation of this bug requires passing of a maliciously crafted media location to VLC media player. While this normally comes from trustworthy user input, it can also come from a playlist file (M3U and such), from the network through a service discovery plugin (if enabled), or embedded in a web page if VLC is installed as a browser plugin.
If support for Audio and Video CDs is not used,
one can remove the affected plugins manually from the VLC plugin
"access
" directory.
Relevant filenames are as follow:
access/libcdda_plugin.dll
and
access/libvcdx_plugin.dll
access/libcdda_plugin.dylib
and
access/libvcdx_plugin.dylib
access/libcdda_plugin.so
and
access/libvcdx_plugin.so
(typically found in /usr/lib
or /usr/local/lib
).
Otherwise, browser plugins and network-based service discovery mechanisms (SAP, UPnP, Bonjour...) should be disabled, and untrusted playlist files should not be used.
Source code patch for VLC 0.8.6 is available here (GPG signature).
VLC media player 0.8.6a, published on 4th January 2007 addresses this issue and introduces further usability fixes.
Pre-compiled packages for Mac OS X and MS Windows are available at the usual download locations.
Linux and BSD users should get relevant software upgrades from their respective distribution/OS vendor.
Landon Fuller has reportedly released a patch for VLC 0.8.6 on MacOS X, however the VideoLAN project cannot make any statement on its accuracy at the moment.
This bug was publicized and reported by Kevin Finisterre as part of the Month Of Apple Bugs activity.