Opus: User-assisted execution of arbitrary code A vulnerability in Opus could cause memory corruption. opus 2017-02-20 2017-02-20 605894 remote 1.1.3-r1 1.1.3-r1

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

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.

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.

There is no known workaround at this time.

All Opus users should upgrade to the latest version:

# emerge --sync # emerge --ask --oneshot --verbose ">=media-libs/opus-1.1.3-r1"
CVE-2017-0381 Debian Bug 851612 Upstream patch whissi whissi