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

047910
CVSS 9.8 - CRITICAL
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
critical
nessus

Summary

The VC-2 Video Compression encoder in FFmpeg 3.0 and 3.4 allows remote attackers to cause a denial of service (out-of-bounds read) because of incorrect buffer padding for non-Haar wavelets, related to libavcodec/vc2enc.c and libavcodec/vc2enc_dwt.c.

Vulnerable Configurations

Part Description Count
Application
Ffmpeg
2
OS
Debian
1

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_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
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-4049. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(104792);
      script_version("3.5");
      script_cvs_date("Date: 2018/11/13 12:30:46");
    
      script_cve_id("CVE-2017-15186", "CVE-2017-15672", "CVE-2017-16840");
      script_xref(name:"DSA", value:"4049");
    
      script_name(english:"Debian DSA-4049-1 : ffmpeg - security update");
      script_summary(english:"Checks dpkg output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Several 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."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/source-package/ffmpeg"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/stretch/ffmpeg"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2017/dsa-4049"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the ffmpeg packages.
    
    For the stable distribution (stretch), these problems have been fixed
    in version 7:3.2.9-1~deb9u1."
      );
      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:debian:debian_linux:ffmpeg");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:9.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/11/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/11/28");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"9.0", prefix:"ffmpeg", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"ffmpeg-doc", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libav-tools", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavcodec-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavcodec-extra", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavcodec-extra57", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavcodec57", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavdevice-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavdevice57", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavfilter-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavfilter-extra", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavfilter-extra6", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavfilter6", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavformat-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavformat57", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavresample-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavresample3", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavutil-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libavutil55", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libpostproc-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libpostproc54", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libswresample-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libswresample2", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libswscale-dev", reference:"7:3.2.9-1~deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"libswscale4", reference:"7:3.2.9-1~deb9u1")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • 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)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2018-172.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(106890);
      script_version("3.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2017-15186", "CVE-2017-15672", "CVE-2017-16840", "CVE-2017-17081", "CVE-2017-17555", "CVE-2018-6392", "CVE-2018-6621");
    
      script_name(english:"openSUSE Security Update : ffmpeg (openSUSE-2018-172)");
      script_summary(english:"Check for the openSUSE-2018-172 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This 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]"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1064577"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1066428"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1069407"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1070762"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1072366"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1078488"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1079368"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected ffmpeg 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:novell:opensuse:ffmpeg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ffmpeg-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ffmpeg-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavcodec-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavcodec57");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavcodec57-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavcodec57-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavcodec57-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavdevice-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavdevice57");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavdevice57-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavdevice57-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavdevice57-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavfilter-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavfilter6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavfilter6-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavfilter6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavfilter6-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavformat-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavformat57");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavformat57-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavformat57-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavformat57-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavresample-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavresample3");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavresample3-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavresample3-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavresample3-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavutil-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavutil55");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavutil55-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavutil55-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libavutil55-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpostproc-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpostproc54");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpostproc54-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpostproc54-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpostproc54-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswresample-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswresample2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswresample2-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswresample2-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswresample2-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswscale-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswscale4");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswscale4-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswscale4-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libswscale4-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/02/19");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/02/20");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2020 Tenable Network Security, Inc.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.3", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE42.3", reference:"ffmpeg-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"ffmpeg-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"ffmpeg-debugsource-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavcodec-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavcodec57-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavcodec57-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavdevice-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavdevice57-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavdevice57-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavfilter-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavfilter6-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavfilter6-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavformat-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavformat57-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavformat57-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavresample-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavresample3-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavresample3-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavutil-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavutil55-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libavutil55-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libpostproc-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libpostproc54-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libpostproc54-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswresample-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswresample2-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswresample2-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswscale-devel-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswscale4-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libswscale4-debuginfo-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavcodec57-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavcodec57-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavdevice57-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavdevice57-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavfilter6-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavfilter6-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavformat57-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavformat57-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavresample3-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavresample3-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavutil55-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libavutil55-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libpostproc54-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libpostproc54-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libswresample2-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libswresample2-debuginfo-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libswscale4-32bit-3.4.2-10.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libswscale4-debuginfo-32bit-3.4.2-10.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "ffmpeg / ffmpeg-debuginfo / ffmpeg-debugsource / libavcodec-devel / etc");
    }