Vulnerabilities > CVE-2019-0564 - Data Processing Errors vulnerability in Microsoft Asp.Net Core 2.1

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
low complexity
microsoft
CWE-19
nessus

Summary

A denial of service vulnerability exists when ASP.NET Core improperly handles web requests, aka "ASP.NET Core Denial of Service Vulnerability." This affects ASP.NET Core 2.1. This CVE ID is unique from CVE-2019-0548.

Vulnerable Configurations

Part Description Count
Application
Microsoft
1

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • XML Nested Payloads
    Applications often need to transform data in and out of the XML format by using an XML parser. It may be possible for an attacker to inject data that may have an adverse effect on the XML parser when it is being processed. By nesting XML data and causing this data to be continuously self-referential, an attacker can cause the XML parser to consume more resources while processing, causing excessive memory consumption and CPU utilization. An attacker's goal is to leverage parser failure to his or her advantage. In most cases this type of an attack will result in a denial of service due to an application becoming unstable, freezing, or crash. However it may be possible to cause a crash resulting in arbitrary code execution, leading to a jump from the data plane to the control plane [R.230.1].
  • XML Oversized Payloads
    Applications often need to transform data in and out of the XML format by using an XML parser. It may be possible for an attacker to inject data that may have an adverse effect on the XML parser when it is being processed. By supplying oversized payloads in input vectors that will be processed by the XML parser, an attacker can cause the XML parser to consume more resources while processing, causing excessive memory consumption and CPU utilization, and potentially cause execution of arbitrary code. An attacker's goal is to leverage parser failure to his or her advantage. In many cases this type of an attack will result in a denial of service due to an application becoming unstable, freezing, or crash. However it is possible to cause a crash resulting in arbitrary code execution, leading to a jump from the data plane to the control plane [R.231.1].
  • XML Client-Side Attack
    Client applications such as web browsers that process HTML data often need to transform data in and out of the XML format by using an XML parser. It may be possible for an attacker to inject data that may have an adverse effect on the XML parser when it is being processed. These adverse effects may include the parser crashing, consuming too much of a resource, executing too slowly, executing code supplied by an attacker, allowing usage of unintended system functionality, etc. An attacker's goal is to leverage parser failure to his or her advantage. In some cases it may be possible to jump from the data plane to the control plane via bad data being passed to an XML parser. [R.484.1]
  • XML Parser Attack
    Applications often need to transform data in and out of the XML format by using an XML parser. It may be possible for an attacker to inject data that may have an adverse effect on the XML parser when it is being processed. These adverse effects may include the parser crashing, consuming too much of a resource, executing too slowly, executing code supplied by an attacker, allowing usage of unintended system functionality, etc. An attacker's goal is to leverage parser failure to his or her advantage. In some cases it may be possible to jump from the data plane to the control plane via bad data being passed to an XML parser. [R.99.1]

Nessus

  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2019-0040.NASL
    descriptionUpdates for rh-dotnet21-dotnet and rh-dotnet22-dotnet are now available for .NET Core on Red Hat Enterprise Linux. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. .NET Core is a managed software framework. It implements a subset of the .NET framework APIs and several new APIs, and it includes a CLR implementation. New versions of .NET Core that address security vulnerabilities are now available. The updated versions are .NET Core 2.1.5 and 2.2.1. Security Fix(es) : * .NET Core: NCL - SocketsHttpHandler mishandling 1xx response as a final response leads to info disclosure (CVE-2019-0545) * .NET Core: ANCM WebSocket DOS (CVE-2019-0548) * .NET Core: Kestrel - WebSocket DoS via CancellationToken (CoreFX and ASP.NET) (CVE-2019-0564) For more details about the security issue(s), including the impact, a CVSS score, and other related information, refer to the CVE page(s) listed in the References section. For more information, please refer to the upstream docs in the References section.
    last seen2020-03-18
    modified2019-01-14
    plugin id121143
    published2019-01-14
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/121143
    titleRHEL 7 : dotNET (RHSA-2019:0040)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2019:0040. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(121143);
      script_version("1.6");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/02/24");
    
      script_cve_id("CVE-2019-0545", "CVE-2019-0548", "CVE-2019-0564");
      script_xref(name:"RHSA", value:"2019:0040");
    
      script_name(english:"RHEL 7 : dotNET (RHSA-2019:0040)");
      script_summary(english:"Checks the rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Red Hat host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Updates for rh-dotnet21-dotnet and rh-dotnet22-dotnet are now
    available for .NET Core on Red Hat Enterprise Linux.
    
    Red Hat Product Security has rated this update as having a security
    impact of Moderate. A Common Vulnerability Scoring System (CVSS) base
    score, which gives a detailed severity rating, is available for each
    vulnerability from the CVE link(s) in the References section.
    
    .NET Core is a managed software framework. It implements a subset of
    the .NET framework APIs and several new APIs, and it includes a CLR
    implementation.
    
    New versions of .NET Core that address security vulnerabilities are
    now available. The updated versions are .NET Core 2.1.5 and 2.2.1.
    
    Security Fix(es) :
    
    * .NET Core: NCL - SocketsHttpHandler mishandling 1xx response as a
    final response leads to info disclosure (CVE-2019-0545)
    
    * .NET Core: ANCM WebSocket DOS (CVE-2019-0548)
    
    * .NET Core: Kestrel - WebSocket DoS via CancellationToken (CoreFX and
    ASP.NET) (CVE-2019-0564)
    
    For more details about the security issue(s), including the impact, a
    CVSS score, and other related information, refer to the CVE page(s)
    listed in the References section.
    
    For more information, please refer to the upstream docs in the
    References section."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2019:0040"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2019-0545"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2019-0548"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2019-0564"
      );
      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:N/A:N");
      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:N/A:N");
      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:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet-host");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet-runtime-2.1");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet-sdk-2.1");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-dotnet-sdk-2.1.5xx");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet21-runtime");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-host");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-host-fxr-2.2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-runtime-2.2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-sdk-2.2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-dotnet-sdk-2.2.1xx");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:rh-dotnet22-runtime");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/01/08");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/01/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/01/14");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Red Hat Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
    os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
    os_ver = os_ver[1];
    if (! preg(pattern:"^7([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 7.x", "Red Hat " + os_ver);
    
    if (!get_kb_item("Host/RedHat/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$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);
    if ("x86_64" >!< cpu) audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2019:0040";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_WARNING,
          extra      : yum_report 
        );
        exit(0);
      }
      else
      {
        audit_message = "affected by Red Hat security advisory " + rhsa;
        audit(AUDIT_OS_NOT, audit_message);
      }
    }
    else
    {
      flag = 0;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-2.1-6.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-2.1.503-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-debuginfo-2.1.503-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-host-2.1.7-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-runtime-2.1-2.1.7-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-sdk-2.1-2.1.503-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-dotnet-sdk-2.1.5xx-2.1.503-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet21-runtime-2.1-6.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-2.2-2.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-2.2.102-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-debuginfo-2.2.102-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-host-2.2.1-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-host-fxr-2.2-2.2.1-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-runtime-2.2-2.2.1-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-sdk-2.2-2.2.102-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-dotnet-sdk-2.2.1xx-2.2.102-1.el7")) flag++;
      if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"rh-dotnet22-runtime-2.2-2.el7")) flag++;
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_WARNING,
          extra      : rpm_report_get() + redhat_report_package_caveat()
        );
        exit(0);
      }
      else
      {
        tested = pkg_tests_get();
        if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
        else audit(AUDIT_PACKAGE_NOT_INSTALLED, "rh-dotnet21 / rh-dotnet21-dotnet / rh-dotnet21-dotnet-debuginfo / etc");
      }
    }
    
  • NASL familyWindows
    NASL idSMB_NT_MS19_JAN_ASPDOTNET_CORE_CVE-2019-0564.NASL
    descriptionThe Microsoft ASP.NET Core installation on the remote host is version 2.1.x < 2.1.7, 2.2.x < 2.2.1. It is, therefore, affected by a denial of service (DoS) vulnerability when ASP.NET Core improperly handles web requests. An unauthenticated, remote attacker could exploit this issue, via sending a specially crafted requests to the .NET Core application, to cause the application to stop responding.
    last seen2020-06-01
    modified2020-06-02
    plugin id123131
    published2019-03-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/123131
    titleSecurity Update for Microsoft ASP.NET Core (DoS) (January 2019)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(123131);
      script_version("1.4");
      script_cvs_date("Date: 2020/01/17");
    
      script_cve_id("CVE-2019-0564");
      script_bugtraq_id(106413);
    
      script_name(english:"Security Update for Microsoft ASP.NET Core (DoS) (January 2019)");
      script_summary(english:"Checks the version of Microsoft ASP.NET Core packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The Microsoft ASP.NET Core installations on the remote host contain vulnerable packages.");
      script_set_attribute(attribute:"description", value:
    "The Microsoft ASP.NET Core installation on the remote
    host is version 2.1.x < 2.1.7, 2.2.x < 2.2.1. It is, therefore,
    affected by a denial of service (DoS) vulnerability when
    ASP.NET Core improperly handles web requests. An unauthenticated,
    remote attacker could exploit this issue, via sending a specially
    crafted requests to the .NET Core application, to cause the
    application to stop responding.");
      # https://blogs.msdn.microsoft.com/dotnet/2019/01/08/net-core-january-2019-update/
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?75ce0f6d");
      # https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2019-0564
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?6458bbb4");
      # https://github.com/aspnet/Announcements/issues/334
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?171a1fd5");
      script_set_attribute(attribute:"solution", value:
    "Update ASP.NET Core, remove vulnerable packages and refer to vendor advisory.");
      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:"cvss_score_source", value:"CVE-2019-0564");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/01/08");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/01/08");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/03/27");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:aspnet_core");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("microsoft_asp_dotnet_core_win.nbin");
      script_require_keys("installed_sw/ASP .NET Core Windows");
      script_require_ports(139, 445);
    
      exit(0);
    }
    
    include('global_settings.inc');
    include('audit.inc');
    include('install_func.inc');
    include('misc_func.inc');
    include('smb_func.inc');
    include('vcf.inc');
    
    appname = 'ASP .NET Core Windows';
    port = kb_smb_transport();
    vuln = FALSE;
    install = get_single_install(app_name:appname);
    
    report =
      '\n  Path              : ' + install['path'] +
      '\n  Installed version : ' + install['version'] +
      '\n';
    
    package_dat = {
      'Microsoft.AspNetCore.All':{
        'constraints':[
          { 'min_version' : '2.1.0', 'fixed_version' : '2.1.7' },
          { 'min_version' : '2.2.0', 'fixed_version' : '2.2.1' }
        ]
      },
      'Microsoft.AspNetCore.App':{
        'constraints':[
          { 'min_version' : '2.1.0', 'fixed_version' : '2.1.7' },
          { 'min_version' : '2.2.0', 'fixed_version' : '2.2.1' }
        ]
      },
      'Microsoft.AspNetCore.Server.Kestrel.Core':{
        'constraints':[
          { 'min_version' : '2.1.0', 'max_version' : '2.1.3', 'fixed_version' : '2.1.7' }
        ]
      },
      'Microsoft.AspNetCore.WebSockets':{
        'constraints':[
          { 'min_version' : '2.1.0', 'max_version' : '2.1.1', 'fixed_version' : '2.1.7' },
          { 'min_version' : '2.2.0', 'fixed_version' : '2.2.1' }
        ]
      }
    };
    
    foreach package (keys(package_dat))
    {
      foreach instance (split(install[package], sep:';', keep:false))
      {
        inst = split(instance, sep:'?', keep:false);
        out = vcf::check_version(version:vcf::parse_version(inst[0]), constraints:package_dat[package]['constraints']);
        if(!vcf::is_error(out) && !isnull(out))
        {
          vuln = TRUE;
          report +=
            '\n  Package           : ' + package +
            '\n  Path              : ' + inst[1] +
            '\n  Installed version : ' + inst[0] +
            '\n  Fixed version     : ' + out['fixed_version'] +
            '\n';
        }
      }
    }
    
    if(!vuln) audit(AUDIT_INST_VER_NOT_VULN, appname + ' ' + install['version']);
    
    security_report_v4(port:port, severity:SECURITY_WARNING, extra:report);
    

Redhat

advisories
rhsa
idRHSA-2019:0040
rpms
  • rh-dotnet21-0:2.1-6.el7
  • rh-dotnet21-dotnet-0:2.1.503-1.el7
  • rh-dotnet21-dotnet-debuginfo-0:2.1.503-1.el7
  • rh-dotnet21-dotnet-host-0:2.1.7-1.el7
  • rh-dotnet21-dotnet-runtime-2.1-0:2.1.7-1.el7
  • rh-dotnet21-dotnet-sdk-2.1-0:2.1.503-1.el7
  • rh-dotnet21-dotnet-sdk-2.1.5xx-0:2.1.503-1.el7
  • rh-dotnet21-runtime-0:2.1-6.el7
  • rh-dotnet22-0:2.2-2.el7
  • rh-dotnet22-dotnet-0:2.2.102-1.el7
  • rh-dotnet22-dotnet-debuginfo-0:2.2.102-1.el7
  • rh-dotnet22-dotnet-host-0:2.2.1-1.el7
  • rh-dotnet22-dotnet-host-fxr-2.2-0:2.2.1-1.el7
  • rh-dotnet22-dotnet-runtime-2.2-0:2.2.1-1.el7
  • rh-dotnet22-dotnet-sdk-2.2-0:2.2.102-1.el7
  • rh-dotnet22-dotnet-sdk-2.2.1xx-0:2.2.102-1.el7
  • rh-dotnet22-runtime-0:2.2-2.el7