(CVE-2012-3374) <pidgin-2.10.5: MXit buffer overflow

Bug #1022012 reported by Karma Dorje on 2012-07-07
264
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Pidgin
Fix Released
Unknown
Gentoo Linux
Fix Released
High
pidgin (Fedora)
Fix Released
Medium
pidgin (Ubuntu)
Undecided
Unassigned

Bug Description

A new update, version 2.10.5, to the open source Pidgin instant messaging program has been released, closing an important security hole. Previous versions of Pidgin contained a vulnerability, discovered by Ulf Härnhammar, in the MXit component, where parsing incoming messages with inline images led to a buffer overflow.
The developers say that this could have been exploited by an attacker to execute arbitrary code on a victim's system by using a specially crafted message. Versions up to and including 2.10.4 are affected. Upgrading to Pidgin 2.10.5 fixes the problem; all users are advised to upgrade. Other bugs, including an issue that caused the application to crash, have also been fixed.

http://www.pidgin.im/news/security/index.php?id=64

CVE References

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):
[1] http://pidgin.im/news/security/?id=64

Patch for the problem and tarballs for v2.10.5 are available here:
[2] http://pidgin.im/~markdoliner/lkFja97sFw89/

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.

Acknowledgements:

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
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.

Created pidgin tracking bugs for this issue

Affects: fedora-all [bug 837874]

After the source:

Incorrect handing of inline images in incoming instant messages can cause a buffer overflow and in some cases can be exploited to execute arbitrary code.

Reproducible: Didn't try

+*pidgin-2.10.5 (06 Jul 2012)
+
+ 06 Jul 2012; Lars Wendler <email address hidden> +pidgin-2.10.5.ebuild:
+ Security bump (bug #425076).
+

2.10.6 fixes a bug which was introduced with 2.10.5

Karma Dorje (taaroa) on 2012-07-07
summary: - Pidgin IM client update fixes buffer overflow vulnerability
+ (CVE-2012-3374) <pidgin-2.10.5: MXit buffer overflow
Changed in gentoo:
importance: Unknown → Medium
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pidgin (Ubuntu):
status: New → Confirmed

+*pidgin-2.10.6 (09 Jul 2012)
+
+ 09 Jul 2012; Lars Wendler <email address hidden> -pidgin-2.10.5.ebuild,
+ +pidgin-2.10.6.ebuild:
+ non-maintainer commit: Version bump. Removed "old".
+

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pidgin - 1:2.10.3-0ubuntu1.1

---------------
pidgin (1:2.10.3-0ubuntu1.1) precise-security; urgency=low

  * SECURITY UPDATE: Remote denial of service via specially crafted XMPP file
    transfer requests (LP: #996691)
    - debian/patches/CVE-2012-2214.patch: Properly tear down SOCKS5
      connection attempts. Based on upstream patch.
    - CVE-2012-2214
  * SECURITY UPDATE: Remote denial of service via specially crafted MSN
    messages (LP: #996691)
    - debian/patches/CVE-2012-2318.patch: Convert incoming messages to UTF-8,
      then validate the messages. Based on upstream patch.
    - CVE-2012-2318
  * SECURITY UPDATE: Remote denial of service via specially crafted MXit
    messages (LP: #1022012)
    - debian/patches/CVE-2012-3374.patch: Use dynamically allocated memory
      instead of a fixed size buffer. Based on upstream patch.
    - CVE-2012-3374
 -- Tyler Hicks <email address hidden> Sun, 08 Jul 2012 18:14:21 -0500

Changed in pidgin (Ubuntu):
status: Confirmed → Fix Released
A. Denton (aquina) wrote :

Is there currently a workaround for this flaw? Upgrade on my site was delayed due to "corporate procedures". Can I disable that MXit thing somehow?

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.

Tyler Hicks (tyhicks) wrote :

If you don't have an MXit account configured in Pidgin, you should be fine. If you do have one configured, you're likely vulnerable while logged into the account. The only recommended solution for users of the MXit protocol is to upgrade Pidgin.

Thanks for the report, Andrzej.

@net-im, may we proceed to stabilize =net-im/pidgin-2.10.6 ?

CVE-2012-3374 (http://nvd.nist.gov/nvd.cfm?cvename=CVE-2012-3374):
  Buffer overflow in markup.c in the MXit protocol plugin in libpurple in
  Pidgin before 2.10.5 allows remote attackers to execute arbitrary code via a
  crafted inline image in a message.

A. Denton (aquina) wrote :

Thanks for your input, Tyler. My colleagues and I came to the same cnclusion yesterday when we read the CERT messages and digged a bit deeper regarding the MXit protocol. We run several different versions of Pidgin from 2.4.1 to 2.10.6. Fortunately none of the packages was shipped with a MXit plugin. I tried to build a Pidgin 2.6.6 package which runs on Ubuntu 8.04 to 12.04, but faild to apply some patches to the code.

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.

Changed in gentoo:
importance: Medium → High

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

Will it be stabilized anytime soon?

go stable!

x86 stable, thanks.

ppc done

Stable for HPPA.

amd64 stable

Changed in pidgin:
status: Unknown → Fix Released

alpha/ia64/sparc stable

ppc64 stable, last arch done

Thanks, everyone.

Filing a new GLSA request.

This issue was resolved and addressed in
 GLSA 201209-17 at http://security.gentoo.org/glsa/glsa-201209-17.xml
by GLSA coordinator Sean Amoss (ackle).

Changed in gentoo:
status: Unknown → Fix Released
Changed in pidgin (Fedora):
importance: Unknown → Medium
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public Security information  Edit
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.