VideoLAN association
A project and a non-profit organization, composed of volunteers, developing and promoting free, open-source multimedia solutions.

Security Advisory 0701

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.

Threat mitigation

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:

Microsoft Windows
access/libcdda_plugin.dll and access/libvcdx_plugin.dll
Apple MacOS X
access/libcdda_plugin.dylib and access/libvcdx_plugin.dylib
Other (Linux, BSD...)
access/ and access/ (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.


Initial bug report
Initial patch
VLC 0.8.6 official source code patch
The VideoLAN project
Public announce
Month of Apple Bugs
MacOS X patch from Landon Fuller


05 January 2007
Added CVE candidate ID reference
04 January 2007
VLC 0.8.6a bugfix release
Binaries for Windows and MacOS X
03 January 2007
Initial advisory
Patch provided against VLC 0.8.6 source code
02 January 2007
Patch applied to VLC development tree
Bug reported and publicized by Kevin Finisterre
Rémi Denis-Courmont,
on behalf of the VideoLAN project