Talos Vulnerability Report

TALOS-2016-0134

Pidgin MXIT Table Command Denial of Service Vulnerability

June 21, 2016
CVE Number

CVE-2016-2366

DESCRIPTION

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

https://www.pidgin.im/

DETAILS

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.

TIMELINE

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

Credit

Discovered by Yves Younan of Cisco Talos.