CVE Vulnerabilities

CVE-2018-13304

Reachable Assertion

Published: Jul 05, 2018 | Modified: Oct 03, 2019
CVSS 3.x
6.5
MEDIUM
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

In libavcodec in FFmpeg 4.0.1, improper maintenance of the consistency between the context profile field and studio_profile in libavcodec may trigger an assertion failure while converting a crafted AVI file to MPEG4, leading to a denial of service, related to error_resilience.c, h263dec.c, and mpeg4videodec.c.

Weakness

The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.

Affected Software

Name Vendor Start Version End Version
Ffmpeg Ffmpeg 4.0.1 (including) 4.0.1 (including)
Chromium-browser Ubuntu artful *
Chromium-browser Ubuntu bionic *
Chromium-browser Ubuntu cosmic *
Chromium-browser Ubuntu devel *
Chromium-browser Ubuntu disco *
Chromium-browser Ubuntu eoan *
Chromium-browser Ubuntu esm-apps/noble *
Chromium-browser Ubuntu focal *
Chromium-browser Ubuntu groovy *
Chromium-browser Ubuntu hirsute *
Chromium-browser Ubuntu impish *
Chromium-browser Ubuntu jammy *
Chromium-browser Ubuntu kinetic *
Chromium-browser Ubuntu lunar *
Chromium-browser Ubuntu mantic *
Chromium-browser Ubuntu noble *
Chromium-browser Ubuntu oracular *
Chromium-browser Ubuntu trusty *
Chromium-browser Ubuntu upstream *
Chromium-browser Ubuntu xenial *
Dvbcut Ubuntu artful *
Dvbcut Ubuntu bionic *
Dvbcut Ubuntu cosmic *
Dvbcut Ubuntu disco *
Dvbcut Ubuntu eoan *
Dvbcut Ubuntu groovy *
Dvbcut Ubuntu hirsute *
Dvbcut Ubuntu impish *
Dvbcut Ubuntu kinetic *
Dvbcut Ubuntu lunar *
Dvbcut Ubuntu mantic *
Dvbcut Ubuntu trusty *
Dvbcut Ubuntu xenial *
Ffmpeg Ubuntu artful *
Gst-libav1.0 Ubuntu artful *
Gst-libav1.0 Ubuntu bionic *
Gst-libav1.0 Ubuntu cosmic *
Gst-libav1.0 Ubuntu disco *
Gst-libav1.0 Ubuntu eoan *
Gst-libav1.0 Ubuntu groovy *
Gst-libav1.0 Ubuntu hirsute *
Gst-libav1.0 Ubuntu impish *
Gst-libav1.0 Ubuntu kinetic *
Gst-libav1.0 Ubuntu lunar *
Gst-libav1.0 Ubuntu mantic *
Gst-libav1.0 Ubuntu trusty *
Gst-libav1.0 Ubuntu xenial *
Kino Ubuntu artful *
Kino Ubuntu bionic *
Kino Ubuntu cosmic *
Kino Ubuntu disco *
Kino Ubuntu eoan *
Kino Ubuntu groovy *
Kino Ubuntu hirsute *
Kino Ubuntu impish *
Kino Ubuntu trusty *
Kino Ubuntu xenial *
Mplayer Ubuntu artful *
Mythtv Ubuntu artful *
Mythtv Ubuntu bionic *
Mythtv Ubuntu cosmic *
Mythtv Ubuntu disco *
Mythtv Ubuntu eoan *
Mythtv Ubuntu groovy *
Mythtv Ubuntu hirsute *
Mythtv Ubuntu impish *
Mythtv Ubuntu kinetic *
Mythtv Ubuntu lunar *
Mythtv Ubuntu mantic *
Mythtv Ubuntu trusty *
Mythtv Ubuntu xenial *
Oxide-qt Ubuntu artful *
Oxide-qt Ubuntu esm-infra/xenial *
Oxide-qt Ubuntu trusty *
Oxide-qt Ubuntu xenial *
Vice Ubuntu artful *
Vice Ubuntu bionic *
Vice Ubuntu cosmic *
Vice Ubuntu disco *
Vice Ubuntu eoan *
Vice Ubuntu groovy *
Vice Ubuntu hirsute *
Vice Ubuntu impish *
Vice Ubuntu kinetic *
Vice Ubuntu lunar *
Vice Ubuntu mantic *
Vice Ubuntu trusty *
Vice Ubuntu xenial *
Vlc Ubuntu artful *
Xine-lib Ubuntu trusty *

Extended Description

While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, it can still lead to a denial of service. For example, if a server handles multiple simultaneous connections, and an assert() occurs in one single connection that causes all other connections to be dropped, this is a reachable assertion that leads to a denial of service.

Potential Mitigations

References