Systems Affected:--
Fl Studio v5.0.1 (Confirmed)
Vulnerability may also exist in previous and current versions
Background:--
FL Studio is a full-featured sequencer perfectly suited for creation of
complex songs and realistic drum loops, with 32 bit internal mixing and
advanced MIDI support.
Vulnerability Details:--
The FL Studio component in FLEngine.dll, that processes .flp files, is
susceptible to a Heap overflow Vulnerability. ?.flp? files are equivalent
to project files and are used to store information related to song
composition.
This is a text book Heap overflow scenario and is trivially exploitable.
The adversary can manipulate two registers by using overflowed data and
thereby control the pointer exchange taking place when heap management
routine kicks in. To exploit this he would have to create a ?.flp? file
containing the trigger and malicious payload.
Since this is a closed File format, the vulnerable structure cannot be pin
pointed precisely. However the vulnerability definitely exists in code that
processes file paths. FL Studio allows inclusion of various .mid or .wav
files for use a samples. When a session is saved, the path to these samples
is also saved in the .flp file. Manipulating these path names to contain
128 bytes or more triggers the Heap Overflow.
The vulnerability gets triggered once the user closes the malicious .flp
file. This makes it even more deceiving since the application does not
crash or exhibit suspicious behavior when the file is opened.
This issue has been tested and confirmed in FL Studio v5.0.1 on Windows XP
SP1. The latest version is FL Studio v5.0.2b. It is highly possible that
previous and current versions are also vulnerable.
Attack Vectors and Impact:--
In order to exploit this vulnerability an attacker can craft a malicious
.flp file containing executable payload and transmit it to a FL studio user
over mail or chat. User interaction would be required for opening the file.
Apart from this FL studio has massive online communities and lists. A
malicious .flp file can also be posted in one of these forums to execute a
large scale compromise.
Exploitation of this vulnerability will allow arbitrary code execution with
privileges of the user who opened the file.
PoC/Exploit Code:--
Editing any file bundled along with the package would demonstrate the
vulnerability. Manipulate data in ?Getting Started.flp? at the following
offsets:-
Opening this file in FL Studio with a debugger attached would illustrate
the user controlled pointer exchange taking place.
Workaround:
Currently not aware of any work around
Greetz: Jhaangi, Gunnu
Feedback :
If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.