By a user receiving data from a malicious network
streaming server, an attacker can overrun a heap buffer,
which can, on some systems, lead to or help in executing
attacker-chosen malicious code with the permissions of the
user running a xine-lib based media application.
Both the MMS and Real RTSP streaming client code made
some too-strong assumptions on the transferred
data. Several critical bounds checks were missing,
resulting in the possibility of heap overflows, should the
remote server not adhere to these assumptions. In the MMS
case, a remote server could present content with too many
individual streams; in the RTSP case, a remote server's
reply could have too many lines.
An attacker can set up a server delivering malicious data
to the users. This can be used to overflow a heap buffer,
which can, with certain implementations of heap
management, lead to attacker chosen data written to the
stack. This can cause attacker-chosen code being executed
with the permissions of the user running the
application. By tricking users to retrieve a stream, which
can be as easy as providing a link on a website, this
vulnerability can be exploited remotely.