A stack-based buffer overwrite flaw was found in the way MXit protocol plug-in implementation of libPurple, the core of an instant messaging program, such as Pidgin, replaced certain custom emoticon tags with corresponding image tags by processing received RX message data, prior returning the instant message to the user interface for it's presentation to the user. A remote attacker could provide a RX message with specially-crafted emoticon tags, that when processed by the libPurple's MXit protocol plug-in by an application linked against libPurple could lead to that application crash or, potentially, arbitrary code execution with the privileges of the user running the application.
Upstream ticket (private for now):
Patch for the problem and tarballs for v2.10.5 are available here:
This issue affects the versions of the pidgin package, as shipped with Red Hat Enterprise Linux 5 and 6.
This issue affects the versions of the pidgin package, as shipped with Fedora release of 16 and 17.
Preliminary embargo date for this issue has been proposed by upstream to expire on this Thursday, 5-th July of 2012, 16:00 UTC time.
The CVE identifier of CVE-2012-3374 has been assigned to this issue.
Red Hat would like to thank the Pidgin project for reporting this issue.
Upstream acknowledges Ulf Härnhammar as the original reporter.
Created attachment 595977 [details]
Local copy of proposed Pidgin upstream patch for MXit protocol plug-in
Ok, after looking at the assembly dump, memcpy is protected by __memcpy_chk and since destlen is known at build time, __memcpy_chk() will catch the overflow and abort, so non exploitable and therefore only moderate impact.
This is now public:
Created pidgin tracking bugs for this issue
Affects: fedora-all [bug 837874]
pidgin-2.10.5-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
pidgin-2.10.5-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
This issue has been addressed in following products:
Red Hat Enterprise Linux 5
Red Hat Enterprise Linux 6
Via RHSA-2012:1102 https://rhn.redhat.com/errata/RHSA-2012-1102.html