Amazon Linux 2023 : python3.13, python3.13-devel, python3.13-freethreading (ALAS2023-2026-3229)
| Reporter | Title | Published | Views | Family All 697 |
|---|---|---|---|---|
| Exploit for CVE-2026-19445 | 2 Oct 202601:46 | – | githubexploit | |
| Exploit for CVE-2026-19553 | 2 Oct 202601:46 | – | githubexploit | |
| Security Bulletin: Multiple vulnerabilities in Python affect AIX | 21 Oct 202611:22 | – | ibm | |
| CVE-2026-15806 | 18 Aug 202615:50 | – | attackerkb | |
| Amazon Linux 2023 : python3.12, python3.12-devel, python3.12-idle (ALAS2023-2026-3230) | 25 Oct 202600:00 | – | nessus | |
| Amazon Linux 2023 : python3.11, python3.11-devel, python3.11-idle (ALAS2023-2026-3231) | 25 Oct 202600:00 | – | nessus | |
| Amazon Linux 2023 : python3.14, python3.14-devel, python3.14-freethreading (ALAS2023-2026-3232) | 25 Oct 202600:00 | – | nessus | |
| Amazon Linux 2023 : python3, python3-devel, python3-idle (ALAS2023-2026-3278) | 25 Oct 202600:00 | – | nessus | |
| Amazon Linux 2 : python3 (ALAS-2026-4025) | 24 Oct 202600:00 | – | nessus | |
| AlmaLinux 9 : python3.12 (ALSA-2026:77017) | 9 Oct 202600:00 | – | nessus |
10
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Amazon Linux 2023 Security Advisory ALAS2023-2026-3229.
##
include('compat.inc');
if (description)
{
script_id(371824);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/25");
script_cve_id(
"CVE-2026-15310",
"CVE-2026-15806",
"CVE-2026-17084",
"CVE-2026-19445",
"CVE-2026-19553",
"CVE-2026-19672",
"CVE-2026-82049",
"CVE-2026-87910"
);
script_xref(name:"IAVA", value:"2026-A-0890");
script_name(english:"Amazon Linux 2023 : python3.13, python3.13-devel, python3.13-freethreading (ALAS2023-2026-3229)");
script_set_attribute(attribute:"synopsis", value:
"The remote Amazon Linux 2023 host is missing a security update.");
script_set_attribute(attribute:"description", value:
"It is, therefore, affected by multiple vulnerabilities as referenced in the ALAS2023-2026-3229 advisory.
When decompressing crafted zip files using the bzip/LZMA/Zstandard
compressions, Python could use an attacker-controlled size to
pre-allocate memory, possibly resulting in memory exhaustion. (CVE-2026-15310)
The HTTPPasswordMgr class in the urllib.request module, along with its subclasses
HTTPPasswordMgrWithDefaultRealm and HTTPPasswordMgrWithPriorAuth, did not take the URL scheme into account
when matching stored credentials against a requested URL. Credentials added for an https:// URL were also
used for requests to the same host over http://, so an attacker able to redirect or downgrade a client to
plain HTTP (for example, via an HTTPS-to-HTTP redirect or an on-path position) could capture credentials
in cleartext. Credentials added for http:// URLs could likewise be sent over https://.
Credential matching is now scoped by URL scheme. Credentials registered with a URL that includes a scheme
are only used for requests with the same scheme. Credentials registered with a bare authority (such as
example.com or example.com:8080) continue to match any scheme, preserving compatibility with existing
code, including proxy authentication.
Users who cannot upgrade immediately can mitigate by ensuring that applications never make plain http://
requests to hosts for which credentials are registered, for example by not following redirects to http://
URLs. (CVE-2026-15806)
The stringprep module didn't process characters from RFC 3454 tablesB.2 or B.3 correctly: the latest
Unicode codepoint attributes were usedinstead of the specified Unicode 3.2.0. This behavior would
causemismatches when processing domain names using IDNA 2003 (the idnacodec) and the in_table_b2()
function of the stringprep module. Thisonly affects domain names containing characters that were not
previouslyregistered or had their Unicode attributes such as case-foldingbehavior updated since Unicode
3.2.0. (CVE-2026-17084)
A remote, unauthenticated TLS client can make a server crash or callthrough a freed pointer if its
sni_callback assigns a different context toSSLSocket.context (the documented way to select a certificate
per servername) and nothing else keeps the original ssl.SSLContext alive. Typicalcases are servers that
create an SSLContext per connection or replace itwhile connections are open; servers that wrap their
listening socket withit are not affected.
Mitigation: keep a reference to every SSLContext that sets sni_callback forthe lifetime of the server. TLS
clients are not affected. (CVE-2026-19445)
ssl.SSLContext.wrap_bio() didn't require the server_hostname argumentto not be None if
ssl.SSLContext.check_hostname was set. Due to amissing parameter check in SSLObject, if the
server_hostname argumentisn't supplied then hostname verification would be silently skipped.
This defect could lead to programs where certificate hostname verification*appeared* to be succeeding with
SSLContext.check_hostname = True and noValueError being raised due to misconfiguration.
If the program passes a server_hostname value that isn't an empty stringor None to any of these APIs then
certificate hostname verificationproceeds as expected and the program is not affected by this
vulnerability.
Mitigating this vulnerability doesn't require updating Python or applyingthe patch. To mitigate, pass a
valid non-None and non-emptyserver_hostname value to SSLContext.wrap_bio(),asyncio.create_connection(), or
asyncio.loop.start_tls() andcertificate hostname verification will proceed as expected. Upgrading tothe
latest version of Python or applying the patch only changes thebehavior from silently skipping hostname
verification to raising aValueError, similar to SSLContext.wrap_socket(), when server_hostnameisn't
supplied. (CVE-2026-19553)
The tarfile module's tar and dataextraction filters created directories outside the destination formembers
whose name leaves the destination and returns to it, such as ../evil/../dest/sub/file. The containment
check used the resolved path, but intermediate directories were created from the name as given.
Onlyempty directories are created outside the destination. Member contentsare still extracted inside it.
To return to the destination the member'sname must contain the destination directory's own final
component, soextraction into a secure randomised directory is not affected.
This affects POSIX platforms only. On Windows, .. components are collapsed before the path reaches the
filesystem, so the directories outside the destination are never created. (CVE-2026-19672)
In CPython 3.13 and earlier, the tarfile module's data and tar extraction filters are vulnerable to
crafted archives containing a hard link to a symbolic link. Such archives may cause extraction to modify
the permissions or modification time of a file outside the destination directory, or expose the contents
of that file within the extracted tree. (CVE-2026-82049)
When tarfile extracts a link on a system that doesn't support links, it falls back to extracting a member
from the archive. In this case, the filter function is run twice: once for the extracted member, and once
with name set to the location of the link. For one of the calls, the return value was ignored. Instead,
the member should be skipped if either call returns None. (CVE-2026-87910)
Tenable has extracted the preceding description block directly from the tested product security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com//AL2023/ALAS2023-2026-3229.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/faqs.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-15310.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-15806.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-17084.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-19445.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-19553.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-19672.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-82049.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-87910.html");
script_set_attribute(attribute:"solution", value:
"Run 'dnf update python3.13 --releasever 2023.12.20261026' or
or 'dnf update --advisory ALAS2023-2026-3229 --releasever 2023.12.20261026' to update your system.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/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:H/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:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-82049");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2026-19445");
script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2026-19445");
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:"2026/08/18");
script_set_attribute(attribute:"patch_publication_date", value:"2026/10/24");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/25");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-debugsource");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-freethreading");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-freethreading-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-idle");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-test");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:python3.13-tkinter");
script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux:2023");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_set_attribute(attribute:"stig_severity", value:"I");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Amazon Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl");
script_require_keys("Host/local_checks_enabled", "Host/AmazonLinux/release", "Host/AmazonLinux/rpm-list");
exit(0);
}
include("rpm2.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var alas_release = get_kb_item("Host/AmazonLinux/release");
if (isnull(alas_release) || !strlen(alas_release)) audit(AUDIT_OS_NOT, "Amazon Linux");
var os_ver = pregmatch(pattern: "^AL(A|\d+|-\d+)", string:alas_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Amazon Linux");
os_ver = os_ver[1];
if (os_ver != "-2023")
{
if (os_ver == 'A') os_ver = 'AMI';
audit(AUDIT_OS_NOT, "Amazon Linux 2023", "Amazon Linux " + os_ver);
}
if (!get_kb_item("Host/AmazonLinux/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
var pkgs = [
{'reference':'python3.13-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debug-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debug-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debuginfo-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debuginfo-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debugsource-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-debugsource-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-devel-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-devel-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-freethreading-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-freethreading-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-freethreading-debug-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-freethreading-debug-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-idle-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-idle-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-libs-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-libs-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-test-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-test-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-tkinter-3.13.16-1.amzn2023.0.1', 'cpu':'aarch64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3.13-tkinter-3.13.16-1.amzn2023.0.1', 'cpu':'x86_64', 'release':'AL-2023', 'rpm_spec_vers_cmp':TRUE}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
if (reference && _release && (!exists_check || rpm_exists(release:_release, rpm:exists_check))) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "python3.13 / python3.13-debug / python3.13-debuginfo / etc");
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
25 Oct 2026 00:00Current
6.3Medium risk
Vulners AI Score6.3
CVSS 49.2
EPSS0.00734
SSVC