Vulnerabilities > CVE-2017-15186 - Double Free vulnerability in Ffmpeg

047910
CVSS 6.5 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
ffmpeg
CWE-415
nessus

Summary

Double free vulnerability in FFmpeg 3.3.4 and earlier allows remote attackers to cause a denial of service via a crafted AVI file.

Vulnerable Configurations

Part Description Count
Application
Ffmpeg
330

Common Weakness Enumeration (CWE)

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");
    }