Vulnerabilities > CVE-2017-15672 - Out-of-bounds Read vulnerability in multiple products

047910
CVSS 8.8 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
ffmpeg
debian
CWE-125
nessus

Summary

The read_header function in libavcodec/ffv1dec.c in FFmpeg 2.4 and 3.3.4 and possibly earlier allows remote attackers to have unspecified impact via a crafted MP4 file, which triggers an out-of-bounds read.

Vulnerable Configurations

Part Description Count
Application
Ffmpeg
330
OS
Debian
2

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Overread Buffers
    An adversary attacks a target by providing input that causes an application to read beyond the boundary of a defined buffer. This typically occurs when a value influencing where to start or stop reading is set to reflect positions outside of the valid memory location of the buffer. This type of attack may result in exposure of sensitive information, a system crash, or arbitrary code execution.

Nessus

  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_5CCBB2F8C79811E7A633009C02A2AB30.NASL
    descriptionMITRE reports : Multiple vulnerabilities have been found in FFmpeg. Please refer to CVE list for details. Note: CVE-2017-15186 and CVE-2017-15672 affect only the 3.3 branch before 3.3.5, CVE-2017-16840 and CVE-2017-17081 have been fixed in 3.4.1. They
    last seen2020-06-01
    modified2020-06-02
    plugin id111406
    published2018-07-30
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/111406
    titleFreeBSD : ffmpeg -- multiple vulnerabilities (5ccbb2f8-c798-11e7-a633-009c02a2ab30)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2019 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(111406);
      script_version("1.3");
      script_cvs_date("Date: 2019/10/11 10:17:50");
    
      script_cve_id("CVE-2017-15186", "CVE-2017-15672", "CVE-2017-16840", "CVE-2017-17081", "CVE-2018-6392");
    
      script_name(english:"FreeBSD : ffmpeg -- multiple vulnerabilities (5ccbb2f8-c798-11e7-a633-009c02a2ab30)");
      script_summary(english:"Checks for updated packages in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote FreeBSD host is missing one or more security-related
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "MITRE reports :
    
    Multiple vulnerabilities have been found in FFmpeg. Please refer to
    CVE list for details.
    
    Note: CVE-2017-15186 and CVE-2017-15672 affect only the 3.3 branch
    before 3.3.5, CVE-2017-16840 and CVE-2017-17081 have been fixed in
    3.4.1. They're listed here for completeness of the record."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://ffmpeg.org/security.html"
      );
      # https://vuxml.freebsd.org/freebsd/5ccbb2f8-c798-11e7-a633-009c02a2ab30.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?5b91eac9"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:ffmpeg");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/10/09");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/07/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/07/30");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"ffmpeg<3.3.5_1,1")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"ffmpeg>=3.4,1<=3.4.1_4,1")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DLA-1630.NASL
    descriptionSeveral security vulnerabilities were corrected in the libav multimedia library which may lead to a denial of service, information disclosure or the execution of arbitrary code if a malformed file is processed. CVE-2017-9993 Libav does not properly restrict HTTP Live Streaming filename extensions and demuxer names, which allows attackers to read arbitrary files via crafted playlist data. CVE-2017-9994 libavcodec/webp.c in Libav does not ensure that pix_fmt is set, which allows remote attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted file, related to the vp8_decode_mb_row_no_filter and pred8x8_128_dc_8_c functions. CVE-2017-14055 denial of service in mv_read_header() due to lack of an EOF (End of File) check might cause huge CPU and memory consumption. CVE-2017-14056 denial of service in rl2_read_header() due to lack of an EOF (End of File) check might cause huge CPU and memory consumption. CVE-2017-14057 denial of service in asf_read_marker() due to lack of an EOF (End of File) check might cause huge CPU and memory consumption. CVE-2017-14170 denial of service in mxf_read_index_entry_array() due to lack of an EOF (End of File) check might cause huge CPU consumption. CVE-2017-14171 denial of service in nsv_parse_NSVf_header() due to lack of an EOF (End of File) check might cause huge CPU consumption. CVE-2017-14767 The sdp_parse_fmtp_config_h264 function in libavformat/rtpdec_h264.c mishandles empty sprop-parameter-sets values, which allows remote attackers to cause a denial of service (heap buffer overflow) or possibly have unspecified other impact via a crafted sdp file. CVE-2017-15672 The read_header function in libavcodec/ffv1dec.c allows remote attackers to have unspecified impact via a crafted MP4 file, which triggers an out-of-bounds read. CVE-2017-17130 The ff_free_picture_tables function in libavcodec/mpegpicture.c allows remote attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted file, related to vc1_decode_i_blocks_adv. CVE-2018-6621 The decode_frame function in libavcodec/utvideodec.c in Libav allows remote attackers to cause a denial of service (out of array read) via a crafted AVI file. CVE-2018-7557 The decode_init function in libavcodec/utvideodec.c in Libav allows remote attackers to cause a denial of service (Out of array read) via an AVI file with crafted dimensions within chroma subsampling data. CVE-2018-14394 libavformat/movenc.c in Libav allows attackers to cause a denial of service (application crash caused by a divide-by-zero error) with a user crafted Waveform audio file. CVE-2018-1999010 Libav contains multiple out of array access vulnerabilities in the mms protocol that can result in attackers accessing out of bound data. For Debian 8
    last seen2020-03-17
    modified2019-01-08
    plugin id120988
    published2019-01-08
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/120988
    titleDebian DLA-1630-1 : libav security update
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-4049.NASL
    descriptionSeveral vulnerabilities have been discovered in the FFmpeg multimedia framework, which could result in denial of service or potentially the execution of arbitrary code if malformed files/streams are processed.
    last seen2020-06-01
    modified2020-06-02
    plugin id104792
    published2017-11-28
    reporterThis script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/104792
    titleDebian DSA-4049-1 : ffmpeg - security update
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2018-172.NASL
    descriptionThis update for ffmpeg fixes the following issues : Updated ffmpeg to new bugfix release 3.4.2 - Fix integer overflows, multiplication overflows, undefined shifts, and verify buffer lengths. - avfilter/vf_transpose: Fix used plane count [boo#1078488, CVE-2018-6392] - avcodec/utvideodec: Fix bytes left check in decode_frame() [boo#1079368, CVE-2018-6621] - Enable use of libzvbi for displaying teletext subtitles. - Fixed a DoS in swri_audio_convert() [boo#1072366, CVE-2017-17555]. Update to new bugfix release 3.4.1 - Fixed integer overflows, division by zero, illegal bit shifts - Fixed the gmc_mmx function which failed to validate width and height [boo#1070762, CVE-2017-17081] - Fixed out-of-bounds in VC-2 encoder [boo#1069407, CVE-2017-16840] - ffplay: use SDL2 audio API - install also doc/ffserver.conf - Update to new upstream release 3.4 - New video filters: deflicker, doublewave, lumakey, pixscope, oscilloscope, robterts, limiter, libvmaf, unpremultiply, tlut2, floodifll, pseudocolor, despill, convolve, vmafmotion. - New audio filters: afir, crossfeed, surround, headphone, superequalizer, haas. - Some video filters with several inputs now use a common set of options: blend, libvmaf, lut3d, overlay, psnr, ssim. They must always be used by name. - librsvg support for svg rasterization - spec-compliant VP9 muxing support in MP4 - Remove the libnut and libschroedinger muxer/demuxer wrappers - drop deprecated qtkit input device (use avfoundation instead) - SUP/PGS subtitle muxer - VP9 tile threading support - KMS screen grabber - CUDA thumbnail filter - V4L2 mem2mem HW assisted codecs - Rockchip MPP hardware decoding - (Not in openSUSE builds, only original ones:) - Gremlin Digital Video demuxer and decoder - Additional frame format support for Interplay MVE movies - Dolby E decoder and SMPTE 337M demuxer - raw G.726 muxer and demuxer, left- and right-justified - NewTek NDI input/output device - FITS demuxer, muxer, decoder and encoder - Fixed a double free in huffyuv [boo#1064577, CVE-2017-15186] - Fixed an out-of-bounds in ffv1dec [boo#1066428, CVE-2017-15672]
    last seen2020-06-05
    modified2018-02-20
    plugin id106890
    published2018-02-20
    reporterThis script is Copyright (C) 2018-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/106890
    titleopenSUSE Security Update : ffmpeg (openSUSE-2018-172)