VideoLAN Security Bulletin VLC 3.0.13 - VideoLAN
VideoLAN, a project and a non-profit organization.

Security Bulletin VLC 3.0.13

Summary           : Multiple vulnerabilities fixed in VLC media player
Date              : April 2021
Affected versions : VLC media player 3.0.12 and earlier
ID                : VideoLAN-SB-VLC-3013

Details

A remote user could create a specifically crafted file that could trigger some various issues.

It is possible to trigger a remote code execution through a specifically crafted playlist, and tricking the user into interracting with that playlist elements.

This is explained in more details on the reporter's article

It is also possible to trigger read or write buffer overflows with some crafted files or by a MITM attack on the automatic updater

Impact

If successful, a malicious third party could trigger either a crash of VLC or an arbitratry code execution with the privileges of the target user.

While these issues in themselves are most likely to just crash the player, we can't exclude that they could be combined to leak user informations or remotely execute code. ASLR and DEP help reduce the likelyness of code execution, but may be bypassed.

We have not seen exploits performing code execution through these vulnerability


Threat mitigation

Exploitation of those issues requires the user to explicitly open a specially crafted file or stream.

Workarounds

The user should refrain from opening files from untrusted third parties or accessing untrusted remote sites (or disable the VLC browser plugins), until the patch is applied.

Solution

VLC media player 3.0.13 addresses the issue.

Credits

The playlist based RCE was reported by Fabian Bräunlein and Lukas Euler from positive.security

The AV1 in MP4 buffer overflow was reported by Zhen Zhou, NSFOCUS Security Team

The invalid free() in the kate decoder was reported by Jordan Milne

The updater system buffer overflow was reported by Fabian Yamaguchi

References

The VideoLAN project
http://www.videolan.org/
VLC official GIT repository
http://git.videolan.org/?p=vlc.git