Lucene search

K
openvasCopyright (C) 2023 Greenbone AGOPENVAS:1361412562310832274
HistorySep 13, 2023 - 12:00 a.m.

Microsoft .NET Framework Multiple Vulnerabilities (KB5030181)

2023-09-1300:00:00
Copyright (C) 2023 Greenbone AG
plugins.openvas.org
4
microsoft .net framework
vulnerabilities
security update
windows 11
remote code execution

7.8 High

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

7.7 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

45.2%

This host is missing an important security
update according to Microsoft KB5030181

# SPDX-FileCopyrightText: 2023 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.832274");
  script_version("2023-10-13T05:06:10+0000");
  script_cve_id("CVE-2023-36796", "CVE-2023-36794", "CVE-2023-36792", "CVE-2023-36793",
                "CVE-2023-36788");
  script_tag(name:"cvss_base", value:"7.2");
  script_tag(name:"cvss_base_vector", value:"AV:L/AC:L/Au:N/C:C/I:C/A:C");
  script_tag(name:"last_modification", value:"2023-10-13 05:06:10 +0000 (Fri, 13 Oct 2023)");
  script_tag(name:"severity_vector", value:"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
  script_tag(name:"severity_origin", value:"NVD");
  script_tag(name:"severity_date", value:"2023-09-12 19:38:00 +0000 (Tue, 12 Sep 2023)");
  script_tag(name:"creation_date", value:"2023-09-13 10:13:29 +0530 (Wed, 13 Sep 2023)");
  script_name("Microsoft .NET Framework Multiple Vulnerabilities (KB5030181)");

  script_tag(name:"summary", value:"This host is missing an important security
  update according to Microsoft KB5030181");

  script_tag(name:"vuldetect", value:"Checks if a vulnerable version is present
  on the target host.");

  script_tag(name:"insight", value:"Multiple flaws exist due to,

  - Visual Studio Remote Code Execution Vulnerability.

  - .NET Framework Remote Code Execution Vulnerability.

  For more information about the vulnerabilities refer to Reference links.");

  script_tag(name:"impact", value:"Successful exploitation will allow an attacker
  to conduct remote code execution on an affected system.");

  script_tag(name:"affected", value:"Microsoft .NET Framework 3.5, 4.8 and 4.8.1 on Microsoft Windows 11, version 21H2.");

  script_tag(name:"solution", value:"The vendor has released updates. Please see
  the references for more information.");

  script_tag(name:"solution_type", value:"VendorFix");
  script_tag(name:"qod_type", value:"executable_version");
  script_xref(name:"URL", value:"https://support.microsoft.com/en-us/help/5030181");
  script_category(ACT_GATHER_INFO);
  script_copyright("Copyright (C) 2023 Greenbone AG");
  script_family("Windows : Microsoft Bulletins");
  script_dependencies("smb_reg_service_pack.nasl");
  script_require_ports(139, 445);
  script_mandatory_keys("SMB/WindowsVersion");
  exit(0);
}

include("smb_nt.inc");
include("secpod_reg.inc");
include("version_func.inc");
include("secpod_smb_func.inc");

if(hotfix_check_sp(win11:1) <= 0) {
  exit(0);
}

sysPath = smb_get_system32root();
if(!sysPath ) {
  exit(0);
}

key = "SOFTWARE\Microsoft\Windows NT\CurrentVersion";
if(!registry_key_exists(key:key)) {
  exit(0);
}

build = registry_get_sz(key:key, item:"CurrentBuild");
if(build && build == "22000") {
  if(!registry_key_exists(key:"SOFTWARE\Microsoft\.NETFramework")) {
    if(!registry_key_exists(key:"SOFTWARE\Microsoft\ASP.NET")) {
      if(!registry_key_exists(key:"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\")){
        exit(0);
      }
    }
  }

  key_list = make_list("SOFTWARE\Microsoft\.NETFramework\", "SOFTWARE\Microsoft\ASP.NET\", "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\");

  foreach key(key_list)
  {
    if(".NETFramework" >< key)
    {
      foreach item (registry_enum_keys(key:key))
      {
        NetPath = registry_get_sz(key:key + item, item:"InstallRoot");
        if(NetPath && "\Microsoft.NET\Framework" >< NetPath)
        {
          foreach item (registry_enum_keys(key:key))
          {
            dotPath = NetPath + item;
            dllVer1 = fetch_file_version(sysPath:dotPath, file_name:"System.core.dll");
            dllVer2 = fetch_file_version(sysPath:dotPath, file_name:"System.printing.dll");

            if(dllVer1 || dllVer2)
            {
              if(dllVer2 && version_in_range(version:dllVer2, test_version:"3.0.6920.8600", test_version2:"3.0.6920.9157"))
              {
                VULN1 = TRUE ;
                vulnerable_range = "3.0.6920.8600 - 3.0.6920.9157";
                break;
              }

              else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8", test_version2:"4.8.4661.0"))
              {
                VULN2 = TRUE ;
                vulnerable_range = "4.8 - 4.8.4661.0" ;
                break;
              }

              else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8.9000", test_version2:"4.8.9180"))
              {
                VULN2 = TRUE ;
                vulnerable_range = "4.8.9000 - 4.8.9180" ;
                break;
              }

            }
          }
          if(vulnerable_range){
            break;
          }
        }
      }
    }
    if((!vulnerable_range) && "ASP.NET" >< key)
    {
      foreach item (registry_enum_keys(key:key))
      {
        dotPath = registry_get_sz(key:key + item, item:"Path");
        if(dotPath && "\Microsoft.NET\Framework" >< dotPath)
        {
          dllVer1 = fetch_file_version(sysPath:dotPath, file_name:"System.core.dll");
          dllVer2 = fetch_file_version(sysPath:dotPath, file_name:"System.printing.dll");

          if(dllVer1 || dllVer2)
          {
            if(dllVer2 && version_in_range(version:dllVer2, test_version:"3.0.6920.8600", test_version2:"3.0.6920.9157"))
            {
              VULN1 = TRUE ;
              vulnerable_range = "3.0.6920.8600 - 3.0.6920.9157";
              break;
            }

            else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8", test_version2:"4.8.4661.0"))
            {
              VULN2 = TRUE ;
              vulnerable_range = "4.8 - 4.8.4661.0" ;
              break;
            }

            else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8.9000", test_version2:"4.8.9180"))
            {
              VULN2 = TRUE ;
              vulnerable_range = "4.8.9000 - 4.8.9180" ;
              break;
            }
          }
        }
        if(vulnerable_range) {
          break;
        }
      }
    }

    ## For versions greater than 4.5 (https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#net_b)
    if((!vulnerable_range) && "NET Framework Setup" >< key)
    {
      dotPath = registry_get_sz(key:key, item:"InstallPath");
      if(dotPath && "\Microsoft.NET\Framework" >< dotPath)
      {
        dllVer1 = fetch_file_version(sysPath:dotPath, file_name:"System.core.dll");
        dllVer2 = fetch_file_version(sysPath:dotPath, file_name:"System.printing.dll");

        if(dllVer1 || dllVer2)
        {
          if(dllVer2 && version_in_range(version:dllVer2, test_version:"3.0.6920.8600", test_version2:"3.0.6920.9157"))
          {
            VULN1 = TRUE ;
            vulnerable_range = "3.0.6920.8600 - 3.0.6920.9157";
            break;
          }

          else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8", test_version2:"4.8.4661.0"))
          {
            VULN2 = TRUE ;
            vulnerable_range = "4.8 - 4.8.4661.0" ;
            break;
          }

          else if(dllVer1 && version_in_range(version:dllVer1, test_version:"4.8.9000", test_version2:"4.8.9180"))
          {
            VULN2 = TRUE ;
            vulnerable_range = "4.8.9000 - 4.8.9180" ;
            break;
          }
        }
      }
    }

    if(VULN1)
    {
      report = report_fixed_ver(file_checked:dotPath + "\System.printing.dll",
                                file_version:dllVer2, vulnerable_range:vulnerable_range);
      security_message(data:report);
      exit(0);
    }

    if(VULN2)
    {
      report = report_fixed_ver(file_checked:dotPath + "\System.core.dll",
                                file_version:dllVer1, vulnerable_range:vulnerable_range);
      security_message(data:report);
      exit(0);
    }
  }
}
exit(99);

7.8 High

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

7.7 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

45.2%