Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 630254 (CVE-2017-14181) - media-sound/aacplusenc: NULL pointer dereference in DeleteBitBuffer (bitbuffer.c)
Summary: media-sound/aacplusenc: NULL pointer dereference in DeleteBitBuffer (bitbuffe...
Status: RESOLVED FIXED
Alias: CVE-2017-14181
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: Normal trivial (vote)
Deadline: 2019-05-10
Assignee: Gentoo Security
URL: https://blogs.gentoo.org/ago/2017/09/...
Whiteboard: ~3 [noglsa cve]
Keywords: PMASKED, PullRequest
Depends on:
Blocks:
 
Reported: 2017-09-07 15:34 UTC by Agostino Sarubbo
Modified: 2020-07-23 13:20 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2017-09-07 15:34:26 UTC
Description:
aacplusenc is an High-Efficiency AAC (AAC+) Encoder.

The complete ASan output of the issue:

# aacplusenc $FILE out.aac 32
                                                                                                                                                                                                                  
*************************************************************                                                                                                                                                     
* Enhanced aacPlus Encoder                                                                                                                                                                                        
* Build Aug 30 2017, 14:40:49                                                                                                                                                                                     
* Matteo Croce                                                                                                                                                                                
*************************************************************                                                                                                                                                     
                                                                                                                                                                                                                  
input file 101.crashes.wav:                                                                                                                                                                                       
sr = 48000, nc = 1                                                                                                                                                                                                
                                                                                                                                                                                                                  
output file out.aac:                                                                                                                                                                                              
br = 32000 sr-OUT = 48000  nc-OUT = 1                                                                                                                                                                             
                                                                                                                                                                                                                  
                                                                                                                                                                                                                  
ASAN:DEADLYSIGNAL
=================================================================
==21496==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x000000562e2f bp 0x7ffc2ec32430 sp 0x7ffc2ec32430 T0)
==21496==The signal is caused by a WRITE memory access.
==21496==Hint: address points to the zero page.
    #0 0x562e2e in DeleteBitBuffer /var/tmp/portage/media-sound/aacplusenc-0.17.5/work/aacplusenc/libbitbuf/bitbuffer.c:97:23
    #1 0x50d909 in AacEncClose /var/tmp/portage/media-sound/aacplusenc-0.17.5/work/aacplusenc/libaacenc/aacenc.c:469:5
    #2 0x50c0df in main /var/tmp/portage/media-sound/aacplusenc-0.17.5/work/aacplusenc/aacplusenc.c:536:2
    #3 0x7f0e4c21b680 in __libc_start_main /var/tmp/portage/sys-libs/glibc-2.23-r4/work/glibc-2.23/csu/../csu/libc-start.c:289
    #4 0x419e78 in _init (/usr/bin/aacplusenc+0x419e78)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /var/tmp/portage/media-sound/aacplusenc-0.17.5/work/aacplusenc/libbitbuf/bitbuffer.c:97:23 in DeleteBitBuffer
==21496==ABORTING
Affected version:
0.17.5

Fixed version:
N/A

Commit fix:
N/A

Credit:
This bug was discovered by Agostino Sarubbo of Gentoo.

CVE:
CVE-2017-14181

Reproducer:
https://github.com/asarubbo/poc/blob/master/00332-aacplusenc-NULLptr-DeleteBitBuffer

Timeline:
2017-08-31: bug discovered and reported to upstream
2017-09-07: blog post about the issue
2017-09-07: CVE assigned

Note:
This bug was found with American Fuzzy Lop.
This bug was identified with bare metal servers donated by Packet. This work is also supported by the Core Infrastructure Initiative.

Permalink:
https://blogs.gentoo.org/ago/2017/09/07/aacplusenc-null-pointer-dereference-in-deletebitbuffer-bitbuffer-c/


@maintainer(s): since the package or the affected version has never been marked as stable, we don't need to stabilize it. After the bump, please remove the affected versions from the tree.
Comment 1 Larry the Git Cow gentoo-dev 2019-04-10 18:36:08 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e787845c86461c7f30b8ae8442ba700c0559d72

commit 5e787845c86461c7f30b8ae8442ba700c0559d72
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2019-04-10 18:35:04 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2019-04-10 18:35:20 +0000

    package.mask: Last rite media-sound/aacplusenc
    
    Bug: https://bugs.gentoo.org/630254
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 profiles/base/package.use.mask | 4 ++++
 profiles/package.mask          | 7 +++++++
 2 files changed, 11 insertions(+)
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-03-17 16:54:35 UTC
NOTE: This was lastrited in 2019.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8219295ffa58d04cbc1642c527b8a007d46ef761

(ignore the linked PR, it's for a diff pkg).
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-03-17 16:56:50 UTC
(In reply to sam_c (Security Padawan) from comment #2)
> NOTE: This was lastrited in 2019.
> 
> https://gitweb.gentoo.org/repo/gentoo.git/commit/
> ?id=8219295ffa58d04cbc1642c527b8a007d46ef761
> 
> (ignore the linked PR, it's for a diff pkg).

Sorry, ignore this. It looks like we need the PR ideally to not break h264enc with USE=aac?
Comment 4 John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2020-07-10 01:37:09 UTC
Package was dropped, tree is clean:

commit 8219295ffa58d04cbc1642c527b8a007d46ef761
Author: Mikle Kolyada <zlogene@gentoo.org>
Date:   Sat May 11 20:47:29 2019 +0300

    media-sound/aacplusenc: remove last rited package

    Signed-off-by: Mikle Kolyada <zlogene@gentoo.org>

 delete mode 100644 media-sound/aacplusenc/Manifest
 delete mode 100644 media-sound/aacplusenc/aacplusenc-0.17.5.ebuild
 delete mode 100644 media-sound/aacplusenc/files/aacplusenc-0.17.5-asneeded.patch
 delete mode 100644 media-sound/aacplusenc/files/aacplusenc-0.17.5-libm.patch
 delete mode 100644 media-sound/aacplusenc/metadata.xml