Talos Vulnerability Report


Pidgin MXIT Table Command Denial of Service Vulnerability

June 21, 2016

Report ID



A denial of service vulnerability exists in the handling of the MXIT protocol in Pidgin. Specially crafted MXIT data sent via the server could potentially result in an out-of-bounds read. A malicious server or an attacker who intercepts the network traffic can send invalid data to trigger this vulnerability and cause a crash.

CVSSv3 Score

5.9 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Tested Versions

Pidgin 2.10.11

Product URLs



In the function command_table in mxit/formcmds.c at lines 531 and 535, the number of rows and columns for the table are received from the server.

531 nr_columns = atoi(tmp);
535 nr_rows = atoi(tmp);

These two values are then used in loops at line 547 and 548 and to access an array at line 549.

547 for (i = 0; i < nr_rows; i++) {
	for (j = 0; j < nr_columns; j++) {
549		purple_debug_info(MXIT_PLUGIN_ID, " Row %i Column %i = %s\n", i, j, coldata[i*nr_columns + j]);

An attacker can cause access to unmapped memory addresses, resulting in a denial of service.


Discovered by Yves Younan of Cisco Talos.


2016-04-13 - Vendor Notification
2016-06-21 - Public Disclosure