Vulnerabilities > CVE-2013-4119 - NULL Pointer Dereference vulnerability in Freerdp 1.0.0/1.0.1/1.0.2

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
freerdp
CWE-476
nessus

Summary

FreeRDP before 1.1.0-beta+2013071101 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) by disconnecting before authentication has finished.

Vulnerable Configurations

Part Description Count
Application
Freerdp
13

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2262.NASL
    descriptionAccording to the versions of the freerdp packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - FreeRDP before 1.1.0-beta1 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via unspecified vectors.(CVE-2013-4118) - FreeRDP before 1.1.0-beta+2013071101 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) by disconnecting before authentication has finished.(CVE-2013-4119) 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-11-08
    plugin id130724
    published2019-11-08
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130724
    titleEulerOS 2.0 SP3 : freerdp (EulerOS-SA-2019-2262)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130724);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2013-4118",
        "CVE-2013-4119"
      );
      script_bugtraq_id(
        61072
      );
    
      script_name(english:"EulerOS 2.0 SP3 : freerdp (EulerOS-SA-2019-2262)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the freerdp packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - FreeRDP before 1.1.0-beta1 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via unspecified
        vectors.(CVE-2013-4118)
    
      - FreeRDP before 1.1.0-beta+2013071101 allows remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) by disconnecting
        before authentication has finished.(CVE-2013-4119)
    
    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.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2262
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?0c17c8d9");
      script_set_attribute(attribute:"solution", value:
    "Update the affected freerdp packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/08");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-plugins");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      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/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(3)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["freerdp-1.0.2-6.1.h3",
            "freerdp-libs-1.0.2-6.1.h3",
            "freerdp-plugins-1.0.2-6.1.h3"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"3", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_WARNING,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "freerdp");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2455.NASL
    descriptionAccording to the versions of the freerdp packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - FreeRDP before 1.1.0-beta+2013071101 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) by disconnecting before authentication has finished.(CVE-2013-4119) - FreeRDP FreeRDP 2.0.0-rc3 released version before commit 205c612820dac644d665b5bb1cdf437dc5ca01e3 contains a Other/Unknown vulnerability in channels/drdynvc/client/drdynvc_main.c, drdynvc_process_capability_request that can result in The RDP server can read the client
    last seen2020-05-08
    modified2019-12-04
    plugin id131609
    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/131609
    titleEulerOS 2.0 SP2 : freerdp (EulerOS-SA-2019-2455)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131609);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2013-4118",
        "CVE-2013-4119",
        "CVE-2014-0250",
        "CVE-2014-0791",
        "CVE-2017-2835",
        "CVE-2017-2836",
        "CVE-2017-2837",
        "CVE-2017-2838",
        "CVE-2017-2839",
        "CVE-2018-1000852"
      );
      script_bugtraq_id(
        61072,
        64689,
        67670
      );
    
      script_name(english:"EulerOS 2.0 SP2 : freerdp (EulerOS-SA-2019-2455)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the freerdp packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - FreeRDP before 1.1.0-beta+2013071101 allows remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) by disconnecting
        before authentication has finished.(CVE-2013-4119)
    
      - FreeRDP FreeRDP 2.0.0-rc3 released version before
        commit 205c612820dac644d665b5bb1cdf437dc5ca01e3
        contains a Other/Unknown vulnerability in
        channels/drdynvc/client/drdynvc_main.c,
        drdynvc_process_capability_request that can result in
        The RDP server can read the client's memory.. This
        attack appear to be exploitable via RDPClient must
        connect the rdp server with echo option. This
        vulnerability appears to have been fixed in after
        commit
        205c612820dac644d665b5bb1cdf437dc5ca01e3.(CVE-2018-1000
        852)
    
      - FreeRDP before 1.1.0-beta1 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via unspecified
        vectors.(CVE-2013-4118)
    
      - Multiple integer overflows in client/X11/xf_graphics.c
        in FreeRDP allow remote attackers to have an
        unspecified impact via the width and height to the (1)
        xf_Pointer_New or (2) xf_Bitmap_Decompress function,
        which causes an incorrect amount of memory to be
        allocated.(CVE-2014-0250)
    
      - Integer overflow in the license_read_scope_list
        function in libfreerdp/core/license.c in FreeRDP
        through 1.0.2 allows remote RDP servers to cause a
        denial of service (application crash) or possibly have
        unspecified other impact via a large ScopeCount value
        in a Scope List in a Server License Request
        packet.(CVE-2014-0791)
    
      - An exploitable code execution vulnerability exists in
        the RDP receive functionality of FreeRDP
        2.0.0-beta1+android11. A specially crafted server
        response can cause an out-of-bounds write resulting in
        an exploitable condition. An attacker can compromise
        the server or use a man in the middle to trigger this
        vulnerability.(CVE-2017-2835)
    
      - An exploitable denial of service vulnerability exists
        within the reading of proprietary server certificates
        in FreeRDP 2.0.0-beta1+android11. A specially crafted
        challenge packet can cause the program termination
        leading to a denial of service condition. An attacker
        can compromise the server or use man in the middle to
        trigger this vulnerability.(CVE-2017-2836)
    
      - An exploitable denial of service vulnerability exists
        within the handling of security data in FreeRDP
        2.0.0-beta1+android11. A specially crafted challenge
        packet can cause the program termination leading to a
        denial of service condition. An attacker can compromise
        the server or use man in the middle to trigger this
        vulnerability.(CVE-2017-2837)
    
      - An exploitable denial of service vulnerability exists
        within the handling of challenge packets in FreeRDP
        2.0.0-beta1+android11. A specially crafted challenge
        packet can cause the program termination leading to a
        denial of service condition. An attacker can compromise
        the server or use man in the middle to trigger this
        vulnerability.(CVE-2017-2838)
    
      - An exploitable denial of service vulnerability exists
        within the handling of challenge packets in FreeRDP
        2.0.0-beta1+android11. A specially crafted challenge
        packet can cause the program termination leading to a
        denial of service condition. An attacker can compromise
        the server or use man in the middle to trigger this
        vulnerability.(CVE-2017-2839)
    
    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.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2455
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?dfdccb93");
      script_set_attribute(attribute:"solution", value:
    "Update the affected freerdp packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      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_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2018-1000852");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/12/04");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/04");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-plugins");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      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/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(2)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["freerdp-1.0.2-6.1.h4",
            "freerdp-libs-1.0.2-6.1.h4",
            "freerdp-plugins-1.0.2-6.1.h4"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"2", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "freerdp");
    }