Bug 1059361 - CVE-2012-3509 libiberty: integer overflow, leading to heap-buffer overflow by processing certain file headers via bfd binary [fedora-all]
Summary: CVE-2012-3509 libiberty: integer overflow, leading to heap-buffer overflow by...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: sdcc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Jaromír Cápík
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: fst_owner=ignatenkobrain
Depends On:
Blocks: CVE-2012-3509
TreeView+ depends on / blocked
 
Reported: 2014-01-29 17:42 UTC by Toshio Ernie Kuratomi
Modified: 2016-02-01 01:59 UTC (History)
5 users (show)

Fixed In Version: sdcc-3.2.0-1.el6
Doc Type: Release Note
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-13 00:39:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Toshio Ernie Kuratomi 2014-01-29 17:42:38 UTC
Description of problem:

libiberty is a collection of functions that are used in a variety of GNU projects. It is designed to be bundled into consuming applications. Unfortunately, one of the functions provided by libiberty has recently been the subject of a CVE https://bugzilla.redhat.com/show_bug.cgi?id=849693 . Whenever that happens we have to have packagers of all the consuming applications analyze their package's use of libiberty to decide whether they're affected or not. If affected, the bundled libiberty code needs to be updated.

You can fix this issue in one of the following ways:

* Patch the libiberty _objalloc_alloc() code to perform the required overflow checking. This may be less work than analyzing the code to see if it's vulnerable and may also save you from future headaches because you might not know if your upstream has changed its code to start using the _objalloc_alloc() function in the future. You can find libiberty upstream's patch for this issue here: ​
http://gcc.gnu.org/viewcvs/gcc/trunk/libiberty/objalloc.c?r1=184997&r2=191413
 
* Analyze your package's code to see if the _objalloc_alloc() function in libiberty/objalloc.c is vulnerable. If so, check whether your package compiles it in and uses the _objalloc_alloc() from libiberty.  If so, you may further analyze the package code to see if invalid input can be passed to _objalloc_alloc() and if so, if that input can cause any problems for the application. If that's all true, then you must fix the code in question. If your code is not affected you can close this bug with an explanation of why the _objalloc_alloc() flaw doesn't affect your code.  You can verify if your code makes use of _objalloc_alloc() using this recipe:


# yum install ${Your packages' and their subpackages'}-debuginfo
$ nm /usr/lib/debug/usr/bin/${Your packages' binaries}.debug | grep -w _objalloc_alloc
00000000005d85c0 T _objalloc_alloc

If you see lines containing _objalloc_alloc then your code makes use of the problematic code and is potentially affected.

Comment 1 Fedora Admin XMLRPC Client 2014-04-15 17:29:30 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Igor Gnatenko 2014-07-12 08:29:28 UTC
AFFECTED!

sdar.debug
00000000004333f0 T _objalloc_alloc
sdnm.debug
0000000000430e70 T _objalloc_alloc
sdobjcopy.debug
000000000044f110 T _objalloc_alloc
sdranlib.debug
00000000004333f0 T _objalloc_alloc

[brain@X1Carbon sdcc-3.3.0]$ cat ./support/sdbinutils/libiberty/objalloc.c | grep _objalloc_alloc -A2
_objalloc_alloc (struct objalloc *o, unsigned long len)
{
  /* We avoid confusion from zero sized objects by always allocating


You want to apply patches below to:
./support/sdbinutils/libiberty/objalloc.c
./support/sdbinutils/include/objalloc.h

Patches:
https://gcc.gnu.org/viewcvs/gcc/trunk/include/objalloc.h?r1=191413&r2=191412&pathrev=191413
https://gcc.gnu.org/viewcvs/gcc/trunk/libiberty/objalloc.c?r1=191413&r2=191412&pathrev=191413



Please use the following update submission link to create the Bodhi
request for this issue as it contains the top-level parent bug(s) as well
as this tracking bug.  This will ensure that all associated bugs get
updated when new packages are pushed to stable.

Please also ensure that the "Close bugs when update is stable" option
remains checked.

Bodhi update submission link:
https://admin.fedoraproject.org/updates/new/?type_=security&bugs=1059361

Comment 3 Igor Gnatenko 2014-07-12 08:42:13 UTC
Also 3.4.0 already available in upstream, but it will not fix this issue.

Submitted upstream bugreport[0].


[0]https://sourceforge.net/p/sdcc/bugs/2284/

Comment 4 Fedora Update System 2014-07-16 21:36:59 UTC
sdcc-3.3.0-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/sdcc-3.3.0-1.fc20

Comment 5 Fedora Update System 2014-07-16 21:37:05 UTC
sdcc-3.3.0-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/sdcc-3.3.0-1.fc19

Comment 6 Fedora Update System 2014-07-16 22:46:05 UTC
sdcc-3.2.0-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/sdcc-3.2.0-1.el6

Comment 7 Fedora Update System 2014-07-20 17:58:23 UTC
Package sdcc-3.2.0-1.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing sdcc-3.2.0-1.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-1923/sdcc-3.2.0-1.el6
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2014-08-01 06:01:44 UTC
sdcc-3.3.0-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2014-08-01 06:05:12 UTC
sdcc-3.3.0-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2014-08-13 00:39:16 UTC
sdcc-3.2.0-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.