A heap buffer overflow vulnerability was found in GStreamer's rfbsrc plugin. When a client connects to a malicious RFB/VNC server that advertises a 16bpp framebuffer and sends Hextile-encoded updates, the Hextile background fill path writes 32-bit pixel values into a buffer allocated for 16-bit pixels. This type mismatch causes an out-of-bounds heap write that can lead to denial of service (process crash) and potential memory corruption.
There is no complete mitigation for this vulnerability. The following measures can reduce risk:
- Do not connect GStreamer pipelines using rfbsrc to untrusted or unknown VNC servers.
- If the rfbsrc plugin is not required, remove the librfb plugin shared object from the GStreamer plugins directory (typically /usr/lib64/gstreamer-1.0/libgstrfbsrc.so).
- Network-level controls (firewall rules) can restrict outbound VNC connections to trusted servers only.