6.1 Medium
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality Impact
LOW
Integrity Impact
LOW
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
0.0004 Low
EPSS
Percentile
10.4%
The version of aioHTTP installed on the remote host is prior to 3.9.4. It is, therefore, affected by a cross-site scripting (XSS) vulnerability. aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. A XSS vulnerability exists on index pages for static file handling. This vulnerability is fixed in 3.9.4. We have always recommended using a reverse proxy server (e.g. nginx) for serving static files. Users following the recommendation are unaffected. Other users can disable show_index
if unable to upgrade.
Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number. Also note that this plugin does not distinguish between Python packages installed via the OS package manager, Python packages installed via PIP, or other sources. As a result, packages provided by your OS package repository may have backported fixes that this plugin may incorrectly report as vulnerable. Please refer to the OS-specific plugins for CVE-2024-27306 to check for backported fixes.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(193912);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/04/29");
script_cve_id("CVE-2024-27306");
script_xref(name:"IAVB", value:"2024-B-0043");
script_name(english:"aioHTTP < 3.9.4 XSS");
script_set_attribute(attribute:"synopsis", value:
"A Python library installed on the remote host is affected by a cross-site scripting vulnerability.");
script_set_attribute(attribute:"description", value:
"The version of aioHTTP installed on the remote host is prior to 3.9.4. It is, therefore, affected by a
cross-site scripting (XSS) vulnerability. aiohttp is an asynchronous HTTP client/server framework for asyncio
and Python. A XSS vulnerability exists on index pages for static file handling. This vulnerability is fixed
in 3.9.4. We have always recommended using a reverse proxy server (e.g. nginx) for serving static files.
Users following the recommendation are unaffected. Other users can disable `show_index` if unable to upgrade.
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported
version number. Also note that this plugin does not distinguish between Python packages installed via the OS
package manager, Python packages installed via PIP, or other sources. As a result, packages provided by your
OS package repository may have backported fixes that this plugin may incorrectly report as vulnerable. Please
refer to the OS-specific plugins for CVE-2024-27306 to check for backported fixes.");
# https://github.com/aio-libs/aiohttp/security/advisories/GHSA-7gpw-8wmc-pm8g
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7ce3d2e9");
script_set_attribute(attribute:"solution", value:
"Upgrade to aioHTTP version 3.9.4 or later.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/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:R/S:C/C:L/I:L/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2024-27306");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2024/04/18");
script_set_attribute(attribute:"patch_publication_date", value:"2024/04/18");
script_set_attribute(attribute:"plugin_publication_date", value:"2024/04/26");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:python:aioHTTP");
script_set_attribute(attribute:"stig_severity", value:"II");
script_set_attribute(attribute:"thorough_tests", value:"true");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("python_packages_installed_nix.nbin");
script_require_keys("Host/nix/Python/Packages/Enumerated");
exit(0);
}
include('vcf.inc');
include('python.inc');
get_kb_item_or_exit("Host/nix/Python/Packages/Enumerated");
var os = 'nix';
var pkg = 'aiohttp';
var found_lib, libs = [];
found_lib = python::query_python_package(os:os, pkg_name:pkg);
if (!empty_or_null(found_lib))
{
foreach (var found in found_lib)
{
found.pkg_name = pkg;
append_element(var:libs, value:found);
}
}
if (empty_or_null(libs))
audit(AUDIT_HOST_NOT, 'affected');
var lib = branch(libs);
var lib_info = {
'app' : lib.pkg_name,
'version' : lib.version,
'display_version' : lib.version,
'parsed_version' : vcf::parse_version(lib.version),
'path' : lib.path + '/' + lib.pkg_name
};
var constraints = [
{ 'fixed_version' : '3.9.4' }
];
vcf::check_version_and_report(app_info:lib_info, constraints:constraints, severity:SECURITY_WARNING, flags:{xss:TRUE});