Bug 1059361

Summary: CVE-2012-3509 libiberty: integer overflow, leading to heap-buffer overflow by processing certain file headers via bfd binary [fedora-all]
Product: [Fedora] Fedora Reporter: Toshio Ernie Kuratomi <a.badger>
Component: sdccAssignee: Jaromír Cápík <jcapik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: alain.portal, hdegoede, ignatenko, ovasik, rrankin
Target Milestone: ---Keywords: SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: fst_owner=ignatenkobrain
Fixed In Version: sdcc-3.2.0-1.el6 Doc Type: Release Note
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-13 00:39:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 849693    

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.