openSUSE: Security Advisory for python39 (SUSE-SU-2022:1485-1)
🗓️ 17 May 2022 00:00:00Reported by Copyright (C) 2022 Greenbone AGType
openvas🔗 plugins.openvas.org👁 23 Views
10
# SPDX-FileCopyrightText: 2022 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.854619");
script_version("2025-02-28T05:38:49+0000");
script_cve_id("CVE-2021-3572", "CVE-2021-3733", "CVE-2021-3737");
script_tag(name:"cvss_base", value:"7.1");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:M/Au:N/C:N/I:N/A:C");
script_tag(name:"last_modification", value:"2025-02-28 05:38:49 +0000 (Fri, 28 Feb 2025)");
script_tag(name:"severity_vector", value:"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
script_tag(name:"severity_origin", value:"NVD");
script_tag(name:"severity_date", value:"2022-03-15 17:01:00 +0000 (Tue, 15 Mar 2022)");
script_tag(name:"creation_date", value:"2022-05-17 12:05:46 +0000 (Tue, 17 May 2022)");
script_name("openSUSE: Security Advisory for python39 (SUSE-SU-2022:1485-1)");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2022 Greenbone AG");
script_family("SuSE Local Security Checks");
script_dependencies("gather-package-list.nasl");
script_mandatory_keys("ssh/login/opensuse", "ssh/login/rpms", re:"ssh/login/release=(openSUSELeap15\.4|openSUSELeap15\.3)");
script_xref(name:"Advisory-ID", value:"SUSE-SU-2022:1485-1");
script_xref(name:"URL", value:"https://lists.opensuse.org/archives/list/[email protected]/thread/YGJODFFWOOAPS5L5J374HGXSM7RJDUVX");
script_tag(name:"summary", value:"The remote host is missing an update for the 'python39'
package(s) announced via the SUSE-SU-2022:1485-1 advisory.");
script_tag(name:"vuldetect", value:"Checks if a vulnerable package version is present on the target host.");
script_tag(name:"insight", value:"This update for python39 fixes the following issues:
- CVE-2021-3572: Fixed an improper handling of unicode characters in pip
(bsc#1186819).
- Update to 3.9.10 (jsc#SLE-23849)
- Remove shebangs from from python-base libraries in _libdir. (bsc#1193179)
- Update to 3.9.9:
* Core and Builtins
+ bpo-30570: Fixed a crash in issubclass() from infinite recursion
when searching pathological __bases__ tuples.
+ bpo-45494: Fix parser crash when reporting errors involving invalid
continuation characters. Patch by Pablo Galindo.
+ bpo-45385: Fix reference leak from descr_check. Patch by Dong-hee Na.
+ bpo-45167: Fix deepcopying of types.GenericAlias objects.
+ bpo-44219: Release the GIL while performing isatty system calls on
arbitrary file descriptors. In particular, this affects os.isatty(),
os.device_encoding() and io.TextIOWrapper. By extension, io.open()
in text mode is also affected. This change solves a deadlock in
os.isatty(). Patch by Vincent Michel in bpo-44219.
+ bpo-44959: Added fallback to extension modules with '.sl' suffix on
HP-UX
+ bpo-44050: Extensions that indicate they use global state (by
setting m_size to -1) can again be used in multiple interpreters.
This reverts to behavior of Python 3.8.
+ bpo-45121: Fix issue where Protocol.__init__ raises RecursionError
when it's called directly or via super(). Patch provided by Yurii
Karabas.
+ bpo-45083: When the interpreter renders an exception, its name now
has a complete qualname. Previously only the class name was
concatenated to the module name, which sometimes resulted in an
incorrect full name being displayed.
+ bpo-45738: Fix computation of error location for invalid
continuation characters in the parser. Patch by Pablo Galindo.
+ Library
+ bpo-45678: Fix bug in Python 3.9 that meant
functools.singledispatchmethod failed to properly wrap the
attributes of the target method. Patch by Alex Waygood.
+ bpo-45679: Fix caching of multi-value typing.Literal. Literal[True,
2] is no longer equal to Literal[1, 2].
+ bpo-45438: Fix typing.Signature string representation for generic
builtin types.
+ bpo-45581: sqlite3.connect() now correctly raises MemoryError if the
underlying SQLite API signals memory error. Patch by Erlend E.
...
Description truncated. Please see the references for more information.");
script_tag(name:"affected", value:"'python39' package(s) on openSUSE Leap 15.3, openSUSE Leap 15.4.");
script_tag(name:"solution", value:"Please install the updated package(s).");
script_tag(name:"solution_type", value:"VendorFix");
script_tag(name:"qod_type", value:"package");
exit(0);
}
include("revisions-lib.inc");
include("pkg-lib-rpm.inc");
release = rpm_get_ssh_release();
if(!release)
exit(0);
res = "";
report = "";
if(release == "openSUSELeap15.4") {
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0", rpm:"libpython3_9-1_0~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-debuginfo", rpm:"libpython3_9-1_0-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39", rpm:"python39~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base", rpm:"python39-base~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-debuginfo", rpm:"python39-base-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-core-debugsource", rpm:"python39-core-debugsource~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-curses", rpm:"python39-curses~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-curses-debuginfo", rpm:"python39-curses-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-dbm", rpm:"python39-dbm~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-dbm-debuginfo", rpm:"python39-dbm-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-debuginfo", rpm:"python39-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-debugsource", rpm:"python39-debugsource~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-devel", rpm:"python39-devel~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-doc", rpm:"python39-doc~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-doc-devhelp", rpm:"python39-doc-devhelp~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-idle", rpm:"python39-idle~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-testsuite", rpm:"python39-testsuite~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-testsuite-debuginfo", rpm:"python39-testsuite-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tk", rpm:"python39-tk~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tk-debuginfo", rpm:"python39-tk-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tools", rpm:"python39-tools~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-32bit", rpm:"libpython3_9-1_0-32bit~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-32bit-debuginfo", rpm:"libpython3_9-1_0-32bit-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-32bit", rpm:"python39-32bit~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-32bit-debuginfo", rpm:"python39-32bit-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-32bit", rpm:"python39-base-32bit~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-32bit-debuginfo", rpm:"python39-base-32bit-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.4"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
if(release == "openSUSELeap15.3") {
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0", rpm:"libpython3_9-1_0~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-debuginfo", rpm:"libpython3_9-1_0-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39", rpm:"python39~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base", rpm:"python39-base~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-debuginfo", rpm:"python39-base-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-core-debugsource", rpm:"python39-core-debugsource~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-curses", rpm:"python39-curses~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-curses-debuginfo", rpm:"python39-curses-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-dbm", rpm:"python39-dbm~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-dbm-debuginfo", rpm:"python39-dbm-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-debuginfo", rpm:"python39-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-debugsource", rpm:"python39-debugsource~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-devel", rpm:"python39-devel~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-doc", rpm:"python39-doc~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-doc-devhelp", rpm:"python39-doc-devhelp~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-idle", rpm:"python39-idle~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-testsuite", rpm:"python39-testsuite~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-testsuite-debuginfo", rpm:"python39-testsuite-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tk", rpm:"python39-tk~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tk-debuginfo", rpm:"python39-tk-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-tools", rpm:"python39-tools~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-32bit", rpm:"libpython3_9-1_0-32bit~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpython3_9-1_0-32bit-debuginfo", rpm:"libpython3_9-1_0-32bit-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-32bit", rpm:"python39-32bit~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-32bit-debuginfo", rpm:"python39-32bit-debuginfo~3.9.10~150300.4.8.2", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-32bit", rpm:"python39-base-32bit~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"python39-base-32bit-debuginfo", rpm:"python39-base-32bit-debuginfo~3.9.10~150300.4.8.1", rls:"openSUSELeap15.3"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
exit(0);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
28 Feb 2025 00:00Current
7.4High risk
Vulners AI Score7.4
CVSS 27.1
CVSS 3.17.5
EPSS0.11586
SSVC