#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-8018-1. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##
include('compat.inc');
if (description)
{
script_id(298266);
script_version("1.3");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/04/30");
script_cve_id(
"CVE-2025-11468",
"CVE-2025-12084",
"CVE-2025-13837",
"CVE-2025-15282",
"CVE-2025-15366",
"CVE-2025-15367",
"CVE-2026-0672",
"CVE-2026-0865"
);
script_xref(name:"USN", value:"8018-1");
script_xref(name:"IAVA", value:"2026-A-0142-S");
script_name(english:"Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS / 20.04 LTS / 22.04 LTS / 24.04 LTS / 25.10 : Python vulnerabilities (USN-8018-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS / 20.04 LTS / 22.04 LTS / 24.04 LTS / 25.10 host has packages
installed that are affected by multiple vulnerabilities as referenced in the USN-8018-1 advisory.
Denis Ledoux discovered that Python incorrectly parsed email message headers. An attacker could possibly
use this issue to inject arbitrary headers into email messages. This issue only affected python3.6,
python3.7, python3.8, python3.9, python3.10, python3.11, python3.12, python3.13, and python3.14 packages.
(CVE-2025-11468)
Jacob Walls, Shai Berger, and Natalia Bidart discovered that Python inefficiently parsed XML input with
quadratic complexity. An attacker could possibly use this issue to cause a denial of service.
(CVE-2025-12084)
It was discovered that Python incorrectly parsed malicious plist files. An attacker could possibly use
this issue to cause Python to use excessive resources, leading to a denial of service. This issue only
affected python3.5, python3.6, python3.7, python3.8, python3.9, python3.10, python3.11, python3.12,
python3.13, and python3.14 packages. (CVE-2025-13837)
Omar Hasan discovered that Python incorrectly parsed URL mediatypes. An attacker could possibly use this
issue to inject arbitrary HTTP headers. (CVE-2025-15282)
Omar Hasan discovered that Python incorrectly parsed malicious IMAP inputs. An attacker could possibly use
this issue to inject arbitrary IMAP commands. (CVE-2025-15366)
Omar Hasan discovered that Python incorrectly parsed malicious POP3 inputs. An attacker could possibly use
this issue to inject arbitrary POP3 commands. (CVE-2025-15367)
Omar Hasan discovered that Python incorrectly parsed malicious HTTP cookie headers. An attacker could
possibly use this issue to inject arbitrary HTTP headers. (CVE-2026-0672)
Omar Hasan discovered that Python incorrectly parsed malicious HTTP header names and values. An attacker
could possibly use this issue to inject arbitrary HTTP headers. (CVE-2026-0865)
Tenable has extracted the preceding description block directly from the Ubuntu 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://ubuntu.com/security/notices/USN-8018-1");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
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:L/AC:L/PR:N/UI:R/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:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/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-2025-12084");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2025-13837");
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:"2025/12/01");
script_set_attribute(attribute:"patch_publication_date", value:"2026/02/05");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/02/06");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:14.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:22.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:25.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.12");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.14");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.6");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.7");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:idle-python3.9");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.10-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.10-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.10-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.10-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.11-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.11-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.11-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.11-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.12-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.12-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.12-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.12-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.12t64");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.13-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.13-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.13-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.13-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.14");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.14-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.14-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.14-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.14-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.4-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.4-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.4-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.4-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.5-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.5-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.5-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.5-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.6");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.6-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.6-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.6-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.6-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.7");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.7-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.7-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.7-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.7-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.8-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.8-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.8-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.8-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.9");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.9-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.9-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.9-stdlib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpython3.9-testsuite");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-nopie");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.10-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-nopie");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.11-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-nopie");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.12-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-gdbm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-nopie");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-tk");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.13-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-gdbm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-nopie");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-tk");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.14-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.4-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.4-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.4-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.4-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.5-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.5-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.5-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.5-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.6");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.6-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.6-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.6-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.6-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.7");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.7-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.7-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.7-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.7-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.8-venv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9-full");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python3.9-venv");
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:"Ubuntu Local Security Checks");
script_copyright(english:"Ubuntu Security Notice (C) 2026 Canonical, Inc. / NASL script (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl", "ubuntu_pro_sub_detect.nasl");
script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
exit(0);
}
include('debian_package.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('14.04' >< os_release || '16.04' >< os_release || '18.04' >< os_release || '20.04' >< os_release || '22.04' >< os_release || '24.04' >< os_release || '25.10' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 14.04 / 16.04 / 18.04 / 20.04 / 22.04 / 24.04 / 25.10', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);
var ubuntu_pro_detected = get_kb_item('Host/Ubuntu/Pro/Services/esm-apps');
ubuntu_pro_detected = !empty_or_null(ubuntu_pro_detected);
var pro_caveat_needed = FALSE;
var pkgs = [
{'osver': '14.04', 'pkgname': 'idle-python3.4', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'idle-python3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.4', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.4-dev', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.4-minimal', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.4-stdlib', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.4-testsuite', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.5-dev', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.5-minimal', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.5-stdlib', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'libpython3.5-testsuite', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.4', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.4-dev', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.4-examples', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.4-minimal', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.4-venv', 'pkgver': '3.4.3-1ubuntu1~14.04.7+esm19', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.5-dev', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.5-examples', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.5-minimal', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '14.04', 'pkgname': 'python3.5-venv', 'pkgver': '3.5.2-2ubuntu0~16.04.4~14.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'idle-python3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'libpython3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'libpython3.5-dev', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'libpython3.5-minimal', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'libpython3.5-stdlib', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'libpython3.5-testsuite', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'python3.5', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'python3.5-dev', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'python3.5-examples', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'python3.5-minimal', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '16.04', 'pkgname': 'python3.5-venv', 'pkgver': '3.5.2-2ubuntu0~16.04.13+esm21', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'idle-python3.6', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'idle-python3.7', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'idle-python3.8', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.6', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.6-dev', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.6-minimal', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.6-stdlib', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.6-testsuite', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.7', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.7-dev', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.7-minimal', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.7-stdlib', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.7-testsuite', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.8', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.8-dev', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.8-minimal', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.8-stdlib', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'libpython3.8-testsuite', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.6', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.6-dev', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.6-examples', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.6-minimal', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.6-venv', 'pkgver': '3.6.9-1~18.04ubuntu1.13+esm8', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.7', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.7-dev', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.7-examples', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.7-minimal', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.7-venv', 'pkgver': '3.7.5-2ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.8', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.8-dev', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.8-examples', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.8-minimal', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '18.04', 'pkgname': 'python3.8-venv', 'pkgver': '3.8.0-3ubuntu1~18.04.2+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'idle-python3.8', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'idle-python3.9', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.8', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.8-dev', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.8-minimal', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.8-stdlib', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.8-testsuite', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.9', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.9-dev', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.9-minimal', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.9-stdlib', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'libpython3.9-testsuite', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8-dev', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8-examples', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8-full', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8-minimal', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.8-venv', 'pkgver': '3.8.10-0ubuntu1~20.04.18+esm5', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9-dev', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9-examples', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9-full', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9-minimal', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '20.04', 'pkgname': 'python3.9-venv', 'pkgver': '3.9.5-3ubuntu0~20.04.1+esm9', 'ubuntu_pro': TRUE},
{'osver': '22.04', 'pkgname': 'idle-python3.10', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'idle-python3.11', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.10', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.10-dev', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.10-minimal', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.10-stdlib', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.10-testsuite', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.11', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.11-dev', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.11-minimal', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.11-stdlib', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'libpython3.11-testsuite', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-dev', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-examples', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-full', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-minimal', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-nopie', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.10-venv', 'pkgver': '3.10.12-1~22.04.14', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-dev', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-examples', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-full', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-minimal', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-nopie', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '22.04', 'pkgname': 'python3.11-venv', 'pkgver': '3.11.0~rc1-1~22.04.1~esm8', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'idle-python3.12', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'libpython3.12-dev', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'libpython3.12-minimal', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'libpython3.12-stdlib', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'libpython3.12-testsuite', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'libpython3.12t64', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-dev', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-examples', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-full', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-minimal', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-nopie', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '24.04', 'pkgname': 'python3.12-venv', 'pkgver': '3.12.3-1ubuntu0.11', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'idle-python3.13', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'idle-python3.14', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.13', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.13-dev', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.13-minimal', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.13-stdlib', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.13-testsuite', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.14', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.14-dev', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.14-minimal', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.14-stdlib', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'libpython3.14-testsuite', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-dev', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-examples', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-full', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-gdbm', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-minimal', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-nopie', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-tk', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.13-venv', 'pkgver': '3.13.7-1ubuntu0.3', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-dev', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-examples', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-full', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-gdbm', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-minimal', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-nopie', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-tk', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE},
{'osver': '25.10', 'pkgname': 'python3.14-venv', 'pkgver': '3.14.0-1ubuntu0.2', 'ubuntu_pro': FALSE}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var osver = NULL;
var pkgname = NULL;
var pkgver = NULL;
if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
var pro_required = NULL;
if (!empty_or_null(package_array['ubuntu_pro'])) pro_required = package_array['ubuntu_pro'];
if (osver && pkgname && pkgver) {
if (deb_check(release:osver, prefix:pkgname, reference:pkgver, cves:cves)) {
flag++;
if (!ubuntu_pro_detected && !pro_caveat_needed) pro_caveat_needed = pro_required;
}
}
}
if (flag)
{
var extra = '';
if (pro_caveat_needed) {
extra += 'NOTE: This vulnerability check contains fixes that apply to packages only \n';
extra += 'available in Ubuntu ESM repositories. Access to these package security updates \n';
extra += 'require an Ubuntu Pro subscription.\n\n';
}
extra += ubuntu_report_get();
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : extra
);
exit(0);
}
else
{
var tested = ubuntu_pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'idle-python3.10 / idle-python3.11 / idle-python3.12 / 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