Bug 23500 - soundtouch new security issues CVE-2018-1404[45] and CVE-2018-1000223
Summary: soundtouch new security issues CVE-2018-1404[45] and CVE-2018-1000223
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL:
Whiteboard: MGA6-64-OK
Keywords: advisory, has_procedure, validated_update
Depends on:
Blocks:
 
Reported: 2018-08-29 20:38 CEST by David Walser
Modified: 2018-09-21 18:27 CEST (History)
7 users (show)

See Also:
Source RPM: soundtouch-2.0.0-1.mga7.src.rpm
CVE:
Status comment:


Attachments

Description David Walser 2018-08-29 20:38:56 CEST
Fedora has issued an advisory on August 20:
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/PA4WRBGUOIUFQNNFWZ5NRQ6K7S63JU6G/

I don't know if older versions are affected.
David Walser 2018-08-29 20:39:08 CEST

CC: (none) => mrambo, smelror

Comment 1 Marja Van Waes 2018-08-30 19:59:34 CEST
Assigning to all packagers collectively, since there is no registered maintainer for this package.

Assignee: bugsquad => pkg-bugs
CC: (none) => marja11

Comment 2 David Walser 2018-08-31 19:17:22 CEST
Note that apparently dolphin-emu is supposed to be rebuilt against the update for this, with a patch:
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/D6U2272NETOXVX3RSEZBUGSAZANM2OSJ/
https://src.fedoraproject.org/cgit/rpms/dolphin-emu.git/commit/?id=a1b91fdf94981e12c8889a02cba0ec2267d0f303

CC: (none) => rverschelde

Comment 3 Rémi Verschelde 2018-08-31 22:30:36 CEST
(In reply to David Walser from comment #2)
> Note that apparently dolphin-emu is supposed to be rebuilt against the
> update for this, with a patch:
> https://lists.fedoraproject.org/archives/list/package-announce@lists.
> fedoraproject.org/thread/D6U2272NETOXVX3RSEZBUGSAZANM2OSJ/
> https://src.fedoraproject.org/cgit/rpms/dolphin-emu.git/commit/
> ?id=a1b91fdf94981e12c8889a02cba0ec2267d0f303

I'll have to look deeper into it but it's not clear to me why this patch would be needed for security reasons. As in, if all downstream users need to be patched to change the way they *include* the upstream library, then the upstream security fixes are likely not good enough (can't tell users "it's secure unless you forget this define").
Comment 4 Mike Rambo 2018-09-19 19:00:46 CEST
Patched package uploaded for cauldron and Mageia 6.

Advisory:
========================

Updated soundtouch package fixes security vulnerabilities:

* Reachable assertion in FIRFilter.cpp causing denial of service (CVE-2018-14045).

* Reachable assertion in RateTransposer::setChannels() causing denial of service (CVE-2018-14044).

* Heap-based buffer overflow in SoundStretch/WavFile.cpp:WavInFile::readHeaderBlock() potentially leading to code execution (CVE-2018-1000223).

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14044
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14045
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000223
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/PA4WRBGUOIUFQNNFWZ5NRQ6K7S63JU6G/
========================

Updated packages in core/updates_testing:
========================
lib64soundtouch1-1.9.2-2.2.mga6
lib64soundtouch-devel-1.9.2-2.2.mga6
soundtouch-1.9.2-2.2.mga6

from soundtouch-1.9.2-2.2.mga6.src.rpm


Testing procedure: https://bugs.mageia.org/show_bug.cgi?id=23323#c4

Keywords: (none) => has_procedure
Version: Cauldron => 6
Assignee: pkg-bugs => qa-bugs

Comment 5 Len Lawrence 2018-09-20 16:55:58 CEST
Mageia 6, x86_64

CVE-2018-14044
https://github.com/TeamSeri0us/pocs/blob/master/soundtouch/1-Poc
$ soundstretch 1-Poc out.wav
   SoundStretch v1.9.2 -  Written by Olli Parviainen 2001 - 2015
Segmentation fault (core dumped)

CVE-2018-14045
https://github.com/TeamSeri0us/pocs/blob/master/soundtouch/2-Poc
$ soundstretch 2-Poc out.wav
soundstretch: RateTransposer.cpp:180: void soundtouch::RateTransposer::setChannels(int): Assertion `nChannels > 0' failed.
Aborted (core dumped)

CVE-2018-1000223
https://github.com/TeamSeri0us/pocs/blob/master/soundtouch/3-Poc
Assuming that 3-Poc is the same as soundstretch000_id_000001,sig_06,src_000000,op_flip1,pos_22
Although https://gitlab.com/soundtouch/soundtouch/issues/6 refers to 1-Poc.
$ soundstretch 3-Poc out.wav
Uses 32bit floating point sample type in processing.
Processing the file with the following changes:
  tempo change = +0 %
  pitch change = +0 semitones
  rate change  = +0 %
Working...soundstretch: FIRFilter.cpp:188: virtual uint soundtouch::FIRFilter::evaluateFilterMulti(soundtouch::SAMPLETYPE*, const SAMPLETYPE*, uint, uint): Assertion `numChannels < 16' failed.
Aborted (core dumped)

Updated the packages and ran the reproducer tests again.

CVE-2018-14044
$ soundstretch 1-Poc out.wav
Input file is corrupt or not a WAV file

CVE-2018-14045
$ soundstretch 2-Poc out.wav
Error: Illegal number of channels

CVE-2018-1000223
$ soundstretch 3-Poc out.wav
Error: Illegal number of channels

That looks like a satisfactory outcome.

$ soundstretch -license
   SoundStretch v1.9.2 -  Written by Olli Parviainen 2001 - 2015
[...]

Ran some simple checks on local music files.

$ soundstretch Corries.wav out.1 -tempo=-50 -pitch=+8
Processing the file with the following changes:
  tempo change = -50 %
  pitch change = +8 semitones
  rate change  = +0 %
Working...Done!

$ soundstretch Corries.wav out.2 -tempo=-10 -quick
  tempo change = -10 %
  pitch change = +0 semitones
  rate change  = +0 %

$ soundstretch LammasTide.wav out.3 -rate=+100 -pitch=+5
  tempo change = +0 %
  pitch change = +5 semitones
  rate change  = +100 %

Used aplay to play the output files - results as expected.

Good for 64-bits.

Whiteboard: (none) => MGA6-64-OK
CC: (none) => tarazed25

Comment 6 Dave Hodgins 2018-09-21 17:47:11 CEST
Advisory committed to svn. Validating the update based on above comments.

Keywords: (none) => advisory, validated_update
CC: (none) => davidwhodgins, sysadmin-bugs

Comment 7 Mageia Robot 2018-09-21 18:27:46 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGASA-2018-0385.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


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