portage-ng / portage / media-libs / opus / 1.5.2
portage-ng glsa
1 advisory reference media-libs/opus · none place version 1.5.2 in a vulnerable range
▸ GLSA 201702-21 Opus: User-assisted execution of arbitrary code this version unaffected normal remote 2017-02-20

A vulnerability in Opus could cause memory corruption.

Announced
2017-02-20
Revised
2017-02-20
Access
remote
Bugs
#605894
Advisory
https://security.gentoo.org/glsa/201702-21

Affected packages

PackageArchVulnerableUnaffected
media-libs/opus*< 1.1.3-r1>= 1.1.3-r1

Background

Opus is a totally open, royalty-free, highly versatile audio codec.

Description

A large NLSF values could cause the stabilization code in silk/NLSF_stabilize.c to wrap-around and have the last value in NLSF_Q15[] to be negative, close to -32768.

Under normal circumstances, the code will simply read from the wrong table resulting in an unstable LPC filter. The filter would then go through the LPC stabilization code at the end of silk_NLSF2A().

Ultimately, the output audio would be garbage, but no worse than with any other harmless bad packet.

Please see the referenced upstream patch and Debian bug report below for a detailed analysis.

However, the original report was about a successful exploitation of Android’s Mediaserver in conjunction with this vulnerability.

Impact

A remote attacker could entice a user to open a specially crafted media stream, possibly resulting in execution of arbitrary code with the privileges of the process, or a Denial of Service condition.

Workaround

There is no known workaround at this time.

Resolution

All Opus users should upgrade to the latest version:

# emerge --sync
# emerge --ask --oneshot --verbose ">=media-libs/opus-1.1.3-r1"

References