SUSE-SU-2023:0748-1

Source
https://www.suse.com/support/update/announcement/2023/suse-su-20230748-1/
Import Source
https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2023:0748-1.json
JSON Data
https://api.osv.dev/v1/vulns/SUSE-SU-2023:0748-1
Related
Published
2023-03-15T19:34:11Z
Modified
2023-03-15T19:34:11Z
Summary
Security update for python310
Details

This update for python310 fixes the following issues:

  • CVE-2023-24329: Fixed blocklist bypass via the urllib.parse component when supplying a URL that starts with blank characters (bsc#1208471).

Update to 3.10.10:

  • Add provides for readline and sqlite3 to the main Python package.
  • Disable NIS for new products, it's deprecated and gets removed

Update to 3.10.9:

  • python -m http.server no longer allows terminal control characters sent within a garbage request to be printed to the stderr server lo This is done by changing the http.server BaseHTTPRequestHandler .log_message method to replace control characters with a \xHH hex escape before printin
  • Avoid publishing list of active per-interpreter audit hooks via the gc module
  • The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name.
  • Update bundled libexpat to 2.5.0
  • Port XKCP’s fix for the buffer overflows in SHA-3 (CVE-2022-37454).
  • On Linux the multiprocessing module returns to using filesystem backed unix domain sockets for communication with the forkserver process instead of the Linux abstract socket namespace. Only code that chooses to use the “forkserver” start method is affected Abstract sockets have no permissions and could allow any user on the system in the same network namespace (often the whole system) to inject code into the multiprocessing forkserver process. This was a potential privilege escalation. Filesystem based socket permissions restrict this to the forkserver process user as was the default in Python 3.8 and earlier This prevents Linux CVE-2022-42919
  • Fix a reference bug in imp.createbuiltin() after the creation of the first sub-interpreter for modules builtins and sys. Patch by Victor Stinner.
  • Fixed a bug that was causing a buffer overflow if the tokenizer copies a line missing the newline caracter from a file that is as long as the available tokenizer buffer. Patch by Pablo galindo
  • Update faulthandler to emit an error message with the proper unexpected signal number. Patch by Dong-hee Na.
  • Fix subscription of types.GenericAlias instances containing bare generic types: for example tuple[A, T][int], where A is a generic type, and T is a type variable.
  • Fix detection of MAC addresses for uuid on certain OSs. Patch by Chaim Sanders
  • Print exception class name instead of its string representation when raising errors from ctypes calls.
  • Allow pdb to locate source for frozen modules in the standard library.
  • Raise ValueError instead of SystemError when methods of uninitialized io.IncrementalNewlineDecoder objects are called. Patch by Oren Milman.
  • Fix a possible assertion failure in io.FileIO when the opener returns an invalid file descriptor.
  • Also escape s in the http.server BaseHTTPRequestHandler.log_message so that it is technically possible to parse the line and reconstruct what the original data was. Without this a xHH is ambiguious as to if it is a hex replacement we put in or the characters r”x” came through in the original request line.
  • asyncio.geteventloop() now only emits a deprecation warning when a new event loop was created implicitly. It no longer emits a deprecation warning if the current event loop was set.
  • Fix bug when calling trace.CoverageResults with valid infile.
  • Fix a bug in handling class cleanups in unittest.TestCase. Now addClassCleanup() uses separate lists for different TestCase subclasses, and doClassCleanups() only cleans up the particular class.
  • Release the GIL when calling termios APIs to avoid blocking threads.
  • Fix ast.increment_lineno() to also cover ast.TypeIgnore when changing line numbers.
  • Fixed bug where inspect.signature() reported incorrect arguments for decorated methods.
  • Fix SystemError in ctypes when exception was not set during initsubclass.
  • Fix statistics.NormalDist pickle with 0 and 1 protocols.
  • Update the bundled copy of pip to version 22.3.1.
  • Apply bugfixes from importlibmetadata 4.11.4, namely: In PathDistribution.namefromstem, avoid including parts of the extension in the result. In PathDistribution.normalizedname, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.
  • Clean up refleak on failed module initialisation in _zoneinfo
  • Clean up refleaks on failed module initialisation in in _pickle
  • Clean up refleak on failed module initialisation in _io.
  • Fix memory leak in math.dist() when both points don’t have the same dimension. Patch by Kumar Aditya.
  • Fix argument typechecks in _overlapped.WSAConnect() and _overlapped.Overlapped.WSASendTo() functions.
  • Fix internal error in the re module which in very rare circumstances prevented compilation of a regular expression containing a conditional expression without the “else” branch.
  • Fix asyncio.StreamWriter.drain() to call protocol.connection_lost callback only once on Windows.
  • Add a mutex to unittest.mock.NonCallableMock to protect concurrent access to mock attributes.
  • Fix hang on Windows in subprocess.wait_closed() in asyncio with ProactorEventLoop. Patch by Kumar Aditya.
  • Fix infinite loop in unittest when a self-referencing chained exception is raised
  • tkinter.Text.count() raises now an exception for options starting with “-” instead of silently ignoring them.
  • On uname_result, restored expectation that _fields and _asdict would include all six properties including processor.
  • Update the bundled copies of pip and setuptools to versions 22.3 and 65.5.0 respectively.
  • Fix bug in urllib.parse.urlparse() that causes certain port numbers containing whitespace, underscores, plus and minus signs, or non-ASCII digits to be incorrectly accepted.
  • Allow venv to pass along PYTHON* variables to ensurepip and pip when they do not impact path resolution
  • On macOS, fix a crash in syslog.syslog() in multi-threaded applications. On macOS, the libc syslog() function is not thread-safe, so syslog.syslog() no longer releases the GIL to call it. Patch by Victor Stinner.
  • Allow BUILTINS to be a valid field name for frozen dataclasses.
  • Make sure patch.dict() can be applied on async functions.
  • To avoid apparent memory leaks when asyncio.open_connection() raises, break reference cycles generated by local exception and future instances (which has exception instance as its member var). Patch by Dong Uk, Kang.
  • Prevent error when activating venv in nested fish instances.
  • Restrict use of sockets instead of pipes for stdin of subprocesses created by asyncio to AIX platform only.
  • shutil.copytree() now applies the ignoredanglingsymlinks argument recursively.
  • Fix IndexError in argparse.ArgumentParser when a store_true action is given an explicit argument.
  • Document that calling variadic functions with ctypes requires special care on macOS/arm64 (and possibly other platforms).
  • Skip testnormalization() of testunicodedata if it fails to download NormalizationTest.txt file from pythontest.net. Patch by Victor Stinner.
  • Some C API tests were moved into the new Lib/test/test_capi/ directory.
  • Fix -Wimplicit-int, -Wstrict-prototypes, and -Wimplicit-function-declaration compiler warnings in configure checks.
  • Fix -Wimplicit-int compiler warning in configure check for PTHREADSCOPESYSTEM.
  • Specify the full path to the source location for make docclean (needed for cross-builds).
  • Fix NOMISALIGNEDACCESSES being not defined for the SHA3 extension when HAVEALIGNEDREQUIRED is set. Allowing builds on hardware that unaligned memory accesses are not allowed.
  • Fix handling of module docstrings in Tools/i18n/pygettext.py.

  • Add invalid-json.patch fixing invalid JSON in Doc/howto/logging-cookbook.rst (somehow similar to gh#python/cpython#102582).

References

Affected packages

SUSE:Linux Enterprise Module for Python 3 15 SP4 / python310

Package

Name
python310
Purl
pkg:rpm/suse/python310&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Python%203%2015%20SP4

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.10.10-150400.4.22.1

Ecosystem specific

{
    "binaries": [
        {
            "python310-devel": "3.10.10-150400.4.22.1",
            "python310-curses": "3.10.10-150400.4.22.1",
            "python310": "3.10.10-150400.4.22.1",
            "python310-idle": "3.10.10-150400.4.22.1",
            "python310-tk": "3.10.10-150400.4.22.1",
            "libpython3_10-1_0": "3.10.10-150400.4.22.1",
            "python310-base": "3.10.10-150400.4.22.1",
            "python310-dbm": "3.10.10-150400.4.22.1",
            "python310-tools": "3.10.10-150400.4.22.1"
        }
    ]
}

SUSE:Linux Enterprise Module for Python 3 15 SP4 / python310-core

Package

Name
python310-core
Purl
pkg:rpm/suse/python310-core&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Python%203%2015%20SP4

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.10.10-150400.4.22.1

Ecosystem specific

{
    "binaries": [
        {
            "python310-devel": "3.10.10-150400.4.22.1",
            "python310-curses": "3.10.10-150400.4.22.1",
            "python310": "3.10.10-150400.4.22.1",
            "python310-idle": "3.10.10-150400.4.22.1",
            "python310-tk": "3.10.10-150400.4.22.1",
            "libpython3_10-1_0": "3.10.10-150400.4.22.1",
            "python310-base": "3.10.10-150400.4.22.1",
            "python310-dbm": "3.10.10-150400.4.22.1",
            "python310-tools": "3.10.10-150400.4.22.1"
        }
    ]
}

openSUSE:Leap 15.4 / python310

Package

Name
python310
Purl
pkg:rpm/opensuse/python310&distro=openSUSE%20Leap%2015.4

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.10.10-150400.4.22.1

Ecosystem specific

{
    "binaries": [
        {
            "libpython3_10-1_0-32bit": "3.10.10-150400.4.22.1",
            "python310-doc-devhelp": "3.10.10-150400.4.22.1",
            "python310-idle": "3.10.10-150400.4.22.1",
            "python310-tk": "3.10.10-150400.4.22.1",
            "libpython3_10-1_0": "3.10.10-150400.4.22.1",
            "python310-base-32bit": "3.10.10-150400.4.22.1",
            "python310-doc": "3.10.10-150400.4.22.1",
            "python310-dbm": "3.10.10-150400.4.22.1",
            "python310-devel": "3.10.10-150400.4.22.1",
            "python310-curses": "3.10.10-150400.4.22.1",
            "python310": "3.10.10-150400.4.22.1",
            "python310-testsuite": "3.10.10-150400.4.22.1",
            "python310-base": "3.10.10-150400.4.22.1",
            "python310-32bit": "3.10.10-150400.4.22.1",
            "python310-tools": "3.10.10-150400.4.22.1"
        }
    ]
}

openSUSE:Leap 15.4 / python310-core

Package

Name
python310-core
Purl
pkg:rpm/opensuse/python310-core&distro=openSUSE%20Leap%2015.4

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.10.10-150400.4.22.1

Ecosystem specific

{
    "binaries": [
        {
            "libpython3_10-1_0-32bit": "3.10.10-150400.4.22.1",
            "python310-doc-devhelp": "3.10.10-150400.4.22.1",
            "python310-idle": "3.10.10-150400.4.22.1",
            "python310-tk": "3.10.10-150400.4.22.1",
            "libpython3_10-1_0": "3.10.10-150400.4.22.1",
            "python310-base-32bit": "3.10.10-150400.4.22.1",
            "python310-doc": "3.10.10-150400.4.22.1",
            "python310-dbm": "3.10.10-150400.4.22.1",
            "python310-devel": "3.10.10-150400.4.22.1",
            "python310-curses": "3.10.10-150400.4.22.1",
            "python310": "3.10.10-150400.4.22.1",
            "python310-testsuite": "3.10.10-150400.4.22.1",
            "python310-base": "3.10.10-150400.4.22.1",
            "python310-32bit": "3.10.10-150400.4.22.1",
            "python310-tools": "3.10.10-150400.4.22.1"
        }
    ]
}

openSUSE:Leap 15.4 / python310-documentation

Package

Name
python310-documentation
Purl
pkg:rpm/opensuse/python310-documentation&distro=openSUSE%20Leap%2015.4

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.10.10-150400.4.22.1

Ecosystem specific

{
    "binaries": [
        {
            "libpython3_10-1_0-32bit": "3.10.10-150400.4.22.1",
            "python310-doc-devhelp": "3.10.10-150400.4.22.1",
            "python310-idle": "3.10.10-150400.4.22.1",
            "python310-tk": "3.10.10-150400.4.22.1",
            "libpython3_10-1_0": "3.10.10-150400.4.22.1",
            "python310-base-32bit": "3.10.10-150400.4.22.1",
            "python310-doc": "3.10.10-150400.4.22.1",
            "python310-dbm": "3.10.10-150400.4.22.1",
            "python310-devel": "3.10.10-150400.4.22.1",
            "python310-curses": "3.10.10-150400.4.22.1",
            "python310": "3.10.10-150400.4.22.1",
            "python310-testsuite": "3.10.10-150400.4.22.1",
            "python310-base": "3.10.10-150400.4.22.1",
            "python310-32bit": "3.10.10-150400.4.22.1",
            "python310-tools": "3.10.10-150400.4.22.1"
        }
    ]
}