A remote code execution vulnerability exists in .NET core 6.0 < 6.0.14 and .NET Core 7.0 < 7.0.3. This vulnerability exists due to how .NET reads debugging symbols, where reading a malicious symbols file may result in remote code execution. An unauthenticated, local attacker can exploit this, to bypass authentication and execute arbitrary commands.
Note that Nessus has not tested for this issue but has instead relied only on the applicationβs self-reported version number.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(171545);
script_version("1.5");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/01/16");
script_cve_id("CVE-2023-21808");
script_xref(name:"IAVA", value:"2023-A-0091-S");
script_name(english:"Security Updates for Microsoft .NET core (February 2023)");
script_set_attribute(attribute:"synopsis", value:
"The Microsoft .NET core installations on the remote host are affected by a remote code execution vulnerability.");
script_set_attribute(attribute:"description", value:
"A remote code execution vulnerability exists in .NET core 6.0 < 6.0.14 and .NET Core 7.0 < 7.0.3. This vulnerability
exists due to how .NET reads debugging symbols, where reading a malicious symbols file may result in remote code
execution. An unauthenticated, local attacker can exploit this, to bypass authentication and execute arbitrary commands.
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://github.com/dotnet/announcements/issues/247");
# https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-21808
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?75eab07f");
script_set_attribute(attribute:"solution", value:
"Update .NET Core Runtime to version 6.0.14 or 7.0.3.");
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2023-21808");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2023/02/14");
script_set_attribute(attribute:"patch_publication_date", value:"2023/02/14");
script_set_attribute(attribute:"plugin_publication_date", value:"2023/02/16");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:.net_core");
script_set_attribute(attribute:"stig_severity", value:"I");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Windows");
script_copyright(english:"This script is Copyright (C) 2023-2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("microsoft_dotnet_core_win.nbin", "macosx_dotnet_core_installed.nbin");
script_require_ports("installed_sw/.NET Core Windows", "installed_sw/.NET Core MacOS");
exit(0);
}
include('vcf.inc');
var app;
var win_local;
if (!empty_or_null(get_kb_item('SMB/Registry/Enumerated')))
{
app = '.NET Core Windows';
win_local = TRUE;
}
else if (!empty_or_null(get_kb_item('Host/MacOSX/Version')))
{
app = '.NET Core MacOS';
win_local = FALSE;
}
else
audit(AUDIT_HOST_NOT, 'Windows or macOS');
var app_info = vcf::get_app_info(app:app, win_local:win_local);
var constraints = [
{'min_version': '6.0', 'fixed_version': '6.0.14'},
{'min_version': '7.0', 'fixed_version': '7.0.3'}
];
vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);