Bug 969785 (CVE-2016-2851) - VUL-0: CVE-2016-2851: libotr,libotr2: Integer overflow vulnerability
Summary: VUL-0: CVE-2016-2851: libotr,libotr2: Integer overflow vulnerability
Status: RESOLVED FIXED
Alias: CVE-2016-2851
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: x86-64 Other
: P3 - Medium : Major
Target Milestone: ---
Assignee: E-mail List
QA Contact: Security Team bot
URL:
Whiteboard: CVSSv2:NVD:CVE-2016-2851:7.5:(AV:N/A...
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-06 20:30 UTC by Andreas Stieger
Modified: 2017-05-11 00:50 UTC (History)
6 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
fix a test failure in 4.1.1 (1.33 KB, patch)
2016-03-07 11:42 UTC, Andreas Stieger
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Stieger 2016-03-06 20:30:39 UTC
Created attachment 667926 [details]
2015-01-intoverflow.patch

EMBARGOED via distros
CRD: 2016-03-09 18:00 UTC


[This advisory is under embargo.  I would like to lift the embargo on
Wed Mar 9, at 1:00 pm EST = 18h00 UTC.  Do speak up quickly if that's
not enought time for you.  The new versions are live at the URLs below,
though not yet linked to from anywhere.  The git repository does *not*
contain the fix at this time.  I am also attaching the patch to prevent
it from being email-munged.]



Off-the-Record Messaging (OTR) Security Advisory 2016-01

Integer overflow vulnerability in libotr

Versions 4.1.0 and earlier of libotr in 64-bit builds contain an integer
overflow security flaw.  This flaw could potentially be exploited by a
remote attacker to cause a heap buffer overflow and subsequently for
arbitrary code to be executed on the user's machine.

In several places in proto.c, the sizes of portions of incoming messages
were stored in variables of type int or unsigned int instead of size_t.
If a message arrives with very large sizes (for example unsigned int
datalen = UINT_MAX), then constructions like malloc(datalen+1) will turn
into malloc(0), which on some architectures returns a non-NULL pointer,
but UINT_MAX bytes will get written to that pointer.

The reporter has requested a CVE for this issue, but it has not yet been
assigned.

The recommended course of action is to upgrade libotr to version
4.1.1 immediately.  The new version can be obtained here:

Source code:
    https://otr.cypherpunks.ca/libotr-4.1.1.tar.gz
gpg signature:
    https://otr.cypherpunks.ca/libotr-4.1.1.tar.gz.asc

git repository:
    git://git.otr.im/libotr.git (tag 4.1.1)

A new Windows binary of pidgin-otr (4.0.2) linked to libotr 4.1.1 is
available; however, as the Windows version is a 32-bit build, it is not
susceptible to the above flaw.  Windows users may wish to upgrade in any
event in order to take advantages of other fixes in libotr 4.1.1 and
pidgin-otr 4.0.2, however (see the respective NEWS files).

pidgin-otr 4.0.2 Source code:
    https://otr.cypherpunks.ca/pidgin-otr-4.0.2.tar.gz
gpg signature:
    https://otr.cypherpunks.ca/pidgin-otr-4.0.2.tar.gz.asc

Windows installer:
    https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.2.exe
gpg signature:
    https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.2.exe.asc

Windows zip file:
    https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.2.zip
gpg signature:
    https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.2.zip.asc


Linux and *BSD vendors and package maintainers have been notified, and
updated packages should be available from them.

If upgrading to version 4.1.1 is not possible, please apply the
following patch to 4.1.0:

(attached)
Comment 1 Swamp Workflow Management 2016-03-06 23:00:16 UTC
bugbot adjusting priority
Comment 2 Andreas Stieger 2016-03-07 11:42:41 UTC
Created attachment 667991 [details]
fix a test failure in 4.1.1

patch to fix https://bugs.otr.im/issues/91 in 4.1.1
Comment 6 Andreas Stieger 2016-03-09 18:27:37 UTC
Is public
Comment 7 Bernhard Wiedemann 2016-03-09 19:00:10 UTC
This is an autogenerated message for OBS integration:
This bug (969785) was mentioned in
https://build.opensuse.org/request/show/369351 Factory / libotr
Comment 8 Swamp Workflow Management 2016-03-09 21:12:13 UTC
SUSE-SU-2016:0706-1: An update that fixes one vulnerability is now available.

Category: security (moderate)
Bug References: 969785
CVE References: CVE-2016-2851
Sources used:
SUSE Linux Enterprise Software Development Kit 11-SP4 (src):    libotr-3.2.0-10.5.1
SUSE Linux Enterprise Server 11-SP4 (src):    libotr-3.2.0-10.5.1
SUSE Linux Enterprise Desktop 11-SP4 (src):    libotr-3.2.0-10.5.1
SUSE Linux Enterprise Debuginfo 11-SP4 (src):    libotr-3.2.0-10.5.1
Comment 9 Swamp Workflow Management 2016-03-09 21:12:46 UTC
SUSE-SU-2016:0707-1: An update that fixes one vulnerability is now available.

Category: security (moderate)
Bug References: 969785
CVE References: CVE-2016-2851
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP1 (src):    libotr-4.0.0-9.1
SUSE Linux Enterprise Software Development Kit 12 (src):    libotr-4.0.0-9.1
SUSE Linux Enterprise Server 12-SP1 (src):    libotr-4.0.0-9.1
SUSE Linux Enterprise Server 12 (src):    libotr-4.0.0-9.1
SUSE Linux Enterprise Desktop 12-SP1 (src):    libotr-4.0.0-9.1
SUSE Linux Enterprise Desktop 12 (src):    libotr-4.0.0-9.1
Comment 10 Andreas Stieger 2016-03-09 22:36:28 UTC
All done
Comment 11 Swamp Workflow Management 2016-03-10 02:12:14 UTC
openSUSE-SU-2016:0708-1: An update that fixes one vulnerability is now available.

Category: security (important)
Bug References: 969785
CVE References: CVE-2016-2851
Sources used:
openSUSE Leap 42.1 (src):    libotr-4.1.1-4.1, libotr2-3.2.1-13.1
openSUSE 13.2 (src):    libotr-4.0.0-8.3.1, libotr2-3.2.1-7.3.1
Comment 12 Swamp Workflow Management 2016-03-12 12:11:56 UTC
openSUSE-SU-2016:0732-1: An update that fixes one vulnerability is now available.

Category: security (important)
Bug References: 969785
CVE References: CVE-2016-2851
Sources used:
openSUSE 13.1 (src):    libotr-4.0.0-5.7.1, libotr2-3.2.1-5.3.1
Comment 13 Bernhard Wiedemann 2016-03-18 09:00:14 UTC
This is an autogenerated message for OBS integration:
This bug (969785) was mentioned in
https://build.opensuse.org/request/show/374787 Factory / libotr