Vulnerabilities > CVE-2016-9584 - Use After Free vulnerability in Libical Project Libical

047910
CVSS 9.1 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
libical-project
CWE-416
critical
nessus

Summary

libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file.

Common Weakness Enumeration (CWE)

Nessus

  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2017-869.NASL
    descriptionThis update for libical fixes the following issues : Security issues fixed : - CVE-2016-5824: libical 1.0 allows remote attackers to cause a denial of service (use-after-free) via a crafted ics file. (bsc#986639) - CVE-2016-5827: The icaltime_from_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted string to the icalparser_parse_string function. (bsc#986631) - CVE-2016-9584: libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file. (bsc#1015964) Bug fixes : - libical crashes while parsing timezones (bsc#1044995) This update was imported from the SUSE:SLE-12-SP2:Update update project.
    last seen2020-06-05
    modified2017-07-31
    plugin id102058
    published2017-07-31
    reporterThis script is Copyright (C) 2017-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102058
    titleopenSUSE Security Update : libical (openSUSE-2017-869)
    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-2017-869.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(102058);
      script_version("3.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2016-5824", "CVE-2016-5827", "CVE-2016-9584");
    
      script_name(english:"openSUSE Security Update : libical (openSUSE-2017-869)");
      script_summary(english:"Check for the openSUSE-2017-869 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 libical fixes the following issues :
    
    Security issues fixed :
    
      - CVE-2016-5824: libical 1.0 allows remote attackers to
        cause a denial of service (use-after-free) via a crafted
        ics file. (bsc#986639)
    
      - CVE-2016-5827: The icaltime_from_string function in
        libical 0.47 and 1.0 allows remote attackers to cause a
        denial of service (out-of-bounds heap read) via a
        crafted string to the icalparser_parse_string function.
        (bsc#986631)
    
      - CVE-2016-9584: libical allows remote attackers to cause
        a denial of service (use-after-free) and possibly read
        heap memory via a crafted ics file. (bsc#1015964)
    
    Bug fixes :
    
      - libical crashes while parsing timezones (bsc#1044995)
    
    This update was imported from the SUSE:SLE-12-SP2:Update update
    project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1015964"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044995"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=986631"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=986639"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected libical packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical-devel-static");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical1");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical1-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical1-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libical1-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.2");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/07/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/07/31");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-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\.2|SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.2 / 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.2", reference:"libical-debugsource-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"libical-devel-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"libical-devel-static-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"libical1-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"libical1-debuginfo-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"libical1-32bit-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"libical1-debuginfo-32bit-1.0.1-13.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libical-debugsource-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libical-devel-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libical-devel-static-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libical1-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libical1-debuginfo-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libical1-32bit-1.0.1-16.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"libical1-debuginfo-32bit-1.0.1-16.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libical-debugsource / libical-devel / libical-devel-static / etc");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1915.NASL
    descriptionAccording to the version of the libical packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file.(CVE-2016-9584) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-05-08
    modified2019-09-16
    plugin id128838
    published2019-09-16
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128838
    titleEulerOS 2.0 SP5 : libical (EulerOS-SA-2019-1915)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2607.NASL
    descriptionAccording to the versions of the libical packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file.(CVE-2016-9584) - The icaltime_from_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted string to the icalparser_parse_string function.(CVE-2016-5827) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-05-08
    modified2019-12-18
    plugin id132142
    published2019-12-18
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132142
    titleEulerOS 2.0 SP3 : libical (EulerOS-SA-2019-2607)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-0119-1.NASL
    descriptionThis update for libical fixes the following issues: Security issues fixed : - CVE-2016-5823: The icalproperty_new_clone function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (use-after-free) via a crafted ics file. (bnc#986632) - CVE-2016-5824: libical 1.0 allows remote attackers to cause a denial of service (use-after-free) via a crafted ics file. (bsc#986639) - CVE-2016-5825: The icalparser_parse_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted ics file. (bsc#986642) - CVE-2016-5826: The parser_get_next_char function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) by crafting a string to the icalparser_parse_string function. (bsc#986658) - CVE-2016-5827: The icaltime_from_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted string to the icalparser_parse_string function. (bsc#986631) - CVE-2016-9584: libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file. (bnc#1015964) Bug fixes : - libical crashes while parsing timezones (bsc#1044995) Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id106130
    published2018-01-18
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106130
    titleSUSE SLES11 Security Update : Recommended update for libical (SUSE-SU-2018:0119-1)
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DLA-959.NASL
    descriptionIt was discovered that there was a use-after-free vulnerability in the libical iCalendar library. Remote attackers could cause a denial of service and possibly read heap memory via a specially crafted .ICS file. For Debian 7
    last seen2020-03-17
    modified2017-05-30
    plugin id100479
    published2017-05-30
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100479
    titleDebian DLA-959-1 : libical security update
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2017-1989-1.NASL
    descriptionThis update for libical fixes the following issues: Security issues fixed : - CVE-2016-5824: libical 1.0 allows remote attackers to cause a denial of service (use-after-free) via a crafted ics file. (bsc#986639) - CVE-2016-5827: The icaltime_from_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted string to the icalparser_parse_string function. (bsc#986631) - CVE-2016-9584: libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file. (bsc#1015964) Bug fixes : - libical crashes while parsing timezones (bsc#1044995) Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id102067
    published2017-07-31
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/102067
    titleSUSE SLED12 / SLES12 Security Update : libical (SUSE-SU-2017:1989-1)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2457.NASL
    descriptionAccording to the versions of the libical packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - The icaltime_from_string function in libical 0.47 and 1.0 allows remote attackers to cause a denial of service (out-of-bounds heap read) via a crafted string to the icalparser_parse_string function.(CVE-2016-5827) - libical allows remote attackers to cause a denial of service (use-after-free) and possibly read heap memory via a crafted ics file.(CVE-2016-9584) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-05-08
    modified2019-12-04
    plugin id131611
    published2019-12-04
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131611
    titleEulerOS 2.0 SP2 : libical (EulerOS-SA-2019-2457)