{"affected":[{"ecosystem_specific":{"binaries":[{"libpython3_11-1_0":"3.11.12-slfo.1.1_1.1","python311":"3.11.12-slfo.1.1_1.1","python311-base":"3.11.12-slfo.1.1_1.1","python311-curses":"3.11.12-slfo.1.1_1.1"}]},"package":{"ecosystem":"SUSE:Linux Micro 6.1","name":"python311","purl":"pkg:rpm/suse/python311&distro=SUSE%20Linux%20Micro%206.1"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"3.11.12-slfo.1.1_1.1"}],"type":"ECOSYSTEM"}]},{"ecosystem_specific":{"binaries":[{"libpython3_11-1_0":"3.11.12-slfo.1.1_1.1","python311":"3.11.12-slfo.1.1_1.1","python311-base":"3.11.12-slfo.1.1_1.1","python311-curses":"3.11.12-slfo.1.1_1.1"}]},"package":{"ecosystem":"SUSE:Linux Micro 6.1","name":"python311-core","purl":"pkg:rpm/suse/python311-core&distro=SUSE%20Linux%20Micro%206.1"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"3.11.12-slfo.1.1_1.1"}],"type":"ECOSYSTEM"}]}],"aliases":[],"details":"This update for python311 fixes the following issues:\n\n- CVE-2025-4516: Fixed blocking DecodeError handling\n  vulnerability, which could lead to DoS. (bsc#1243273) \n\nUpdate to 3.11.12:\n\n  - gh-105704: When using urllib.parse.urlsplit() and\n    urllib.parse.urlparse() host parsing would not reject domain\n    names containing square brackets ([ and ]). Square brackets\n    are only valid for IPv6 and IPvFuture hosts according to RFC\n    3986 Section 3.2.2 (bsc#1236705, CVE-2025-0938,\n    gh#python/cpython#105704).\n  - gh-121284: Fix bug in the folding of rfc2047 encoded-words\n    when flattening an email message using a modern email\n    policy. Previously when an encoded-word was too long for\n    a line, it would be decoded, split across lines, and\n    re-encoded. But commas and other special characters in the\n    original text could be left unencoded and unquoted. This\n    could theoretically be used to spoof header lines using a\n    carefully constructed encoded-word if the resulting rendered\n    email was transmitted or re-parsed.\n  - gh-80222: Fix bug in the folding of quoted strings\n    when flattening an email message using a modern email\n    policy. Previously when a quoted string was folded so that\n    it spanned more than one line, the surrounding quotes and\n    internal escapes would be omitted. This could theoretically\n    be used to spoof header lines using a carefully constructed\n    quoted string if the resulting rendered email was transmitted\n    or re-parsed.\n  - gh-119511: Fix a potential denial of service in the imaplib\n    module. When connecting to a malicious server, it could\n    cause an arbitrary amount of memory to be allocated. On many\n    systems this is harmless as unused virtual memory is only\n    a mapping, but if this hit a virtual address size limit\n    it could lead to a MemoryError or other process crash. On\n    unusual systems or builds where all allocated memory is\n    touched and backed by actual ram or storage it could’ve\n    consumed resources doing so until similarly crashing.\n  - gh-127257: In ssl, system call failures that OpenSSL reports\n    using ERR_LIB_SYS are now raised as OSError.\n  - gh-121277: Writers of CPython’s documentation can now use\n    next as the version for the versionchanged, versionadded,\n    deprecated directives.\n  - gh-106883: Disable GC during the _PyThread_CurrentFrames()\n    and _PyThread_CurrentExceptions() calls to avoid the\n    interpreter to deadlock.\n\n- CVE-2025-0938: disallow square brackets ([ and ]) in domain names for parsed\n  URLs (bsc#1236705, gh#python/cpython#105704)\n\nUpdate to 3.11.11:\n\n  - Tools/Demos\n\n    - gh-123418: Update GitHub CI workflows to use OpenSSL 3.0.15\n      and multissltests to use 3.0.15, 3.1.7, and 3.2.3.\n\n  - Security\n\n    - gh-122792: Changed IPv4-mapped ipaddress.IPv6Address to\n      consistently use the mapped IPv4 address value for deciding\n      properties. Properties which have their behavior fixed are\n      is_multicast, is_reserved, is_link_local, is_global, and\n      is_unspecified.\n\n  - Library\n\n    - gh-124651: Properly quote template strings in venv\n      activation scripts (bsc#1232241, CVE-2024-9287).\n\n- Remove -IVendor/ from python-config bsc#1231795\n\n- CVE-2024-9287: Properly quote path names provided when creating a\n  virtual environment (bsc#1232241,\n\n- Drop .pyc files from docdir for reproducible builds (bsc#1230906).\n\nUpdate to 3.11.10:\n\n  - Security\n\n    - gh-121957: Fixed missing audit events around interactive\n      use of Python, now also properly firing for ``python -i``,\n      as well as for ``python -m asyncio``. The event in question\n      is ``cpython.run_stdin``.\n    - gh-122133: Authenticate the socket connection for the\n      ``socket.socketpair()`` fallback on platforms where\n      ``AF_UNIX`` is not available like Windows. Patch by\n      Gregory P. Smith <greg@krypto.org> and Seth Larson\n      <seth@python.org>. Reported by Ellie <el@horse64.org>\n    - gh-121285: Remove backtracking from tarfile header parsing\n      for ``hdrcharset``, PAX, and GNU sparse headers\n      (bsc#1230227, CVE-2024-6232).\n    - gh-118486: :func:`os.mkdir` on Windows now accepts\n      *mode* of ``0o700`` to restrict the new directory to\n      the current user. This fixes CVE-2024-4030 affecting\n      :func:`tempfile.mkdtemp` in scenarios where the base\n      temporary directory is more permissive than the default.\n\n  - Library\n\n    - gh-123270: Applied a more surgical fix for malformed\n      payloads in :class:`zipfile.Path` causing infinite loops\n      (gh-122905) without breaking contents using legitimate\n      characters (bsc#1229704, CVE-2024-8088).\n    - gh-123067: Fix quadratic complexity in parsing ``\"``-quoted\n      cookie values with backslashes by :mod:`http.cookies`\n      (bsc#1229596, CVE-2024-7592).\n    - gh-122905: :class:`zipfile.Path` objects now sanitize names\n      from the zipfile.\n    - gh-121650: :mod:`email` headers with embedded newlines are\n      now quoted on output. The :mod:`~email.generator` will now\n      refuse to serialize (write) headers that are unsafely folded\n      or delimited; see :attr:`~email.policy.Policy.verify_generated_headers`.\n      (Contributed by Bas Bloemsaat and Petr Viktorin in\n      :gh:`121650`; CVE-2024-6923, bsc#1228780).\n    - gh-119506: Fix :meth:`!io.TextIOWrapper.write` method\n      breaks internal buffer when the method is called again\n      during flushing internal buffer.\n    - gh-118643: Fix an AttributeError in the :mod:`email` module\n      when re-fold a long address list. Also fix more cases of\n      incorrect encoding of the address separator in the address\n      list.\n    - gh-113171: Fixed various false positives and false\n      negatives in * :attr:`ipaddress.IPv4Address.is_private`\n      (see these docs for details) *\n      :attr:`ipaddress.IPv4Address.is_global` *\n      :attr:`ipaddress.IPv6Address.is_private` *\n      :attr:`ipaddress.IPv6Address.is_global` Also in the\n      corresponding :class:`ipaddress.IPv4Network` and\n      :class:`ipaddress.IPv6Network` attributes.\n      Fixes bsc#1226448 (CVE-2024-4032).\n    - gh-102988: :func:`email.utils.getaddresses` and\n      :func:`email.utils.parseaddr` now return ``('', '')``\n      2-tuples in more situations where invalid email addresses\n      are encountered instead of potentially inaccurate\n      values. Add optional *strict* parameter to these two\n      functions: use ``strict=False`` to get the old behavior,\n      accept malformed inputs. ``getattr(email.utils,\n      'supports_strict_parsing', False)`` can be use to check if\n      the *strict* paramater is available. Patch by Thomas Dwyer\n      and Victor Stinner to improve the CVE-2023-27043 fix\n      (bsc#1210638).\n    - gh-67693: Fix :func:`urllib.parse.urlunparse` and\n      :func:`urllib.parse.urlunsplit` for URIs with path starting\n      with multiple slashes and no authority. Based on patch by\n      Ashwin Ramaswami.\n\n  - Core and Builtins\n\n    - gh-112275: A deadlock involving ``pystate.c``'s\n      ``HEAD_LOCK`` in ``posixmodule.c`` at fork is now\n      fixed. Patch by ChuBoning based on previous Python 3.12 fix\n      by Victor Stinner.\n    - gh-109120: Added handle of incorrect star expressions, e.g\n      ``f(3, *)``. Patch by Grigoryev Semyon\n\n- CVE-2024-8088: Prevent malformed payload to cause infinite loops in\n  zipfile.Path (bsc#1229704)\n\n- Make pip and modern tools install directly in /usr/local when used by\n  the user. (bsc#1225660)\n\n- CVE-2024-4032: Fix rearranging definition of private v global IP\n  addresses. (bsc#1226448)\n\nUpdate to 3.11.9:\n\n  * Security\n\n    - gh-115398: Allow controlling Expat >=2.6.0 reparse deferral\n      (CVE-2023-52425,  bsc#1219559) by adding five new methods:\n        xml.etree.ElementTree.XMLParser.flush()\n        xml.etree.ElementTree.XMLPullParser.flush()\n        xml.parsers.expat.xmlparser.GetReparseDeferralEnabled()\n        xml.parsers.expat.xmlparser.SetReparseDeferralEnabled()\n        xml.sax.expatreader.ExpatParser.flush()\n    - gh-115399: Update bundled libexpat to 2.6.0\n    - gh-115243: Fix possible crashes in collections.deque.index()\n      when the deque is concurrently modified.\n    - gh-114572: ssl.SSLContext.cert_store_stats() and\n      ssl.SSLContext.get_ca_certs() now correctly lock access to the\n      certificate store, when the ssl.SSLContext is shared across\n      multiple threads (bsc#1226447, CVE-2024-0397).\n\n  * Core and Builtins\n\n    - gh-116296: Fix possible refleak in object.__reduce__() internal\n      error handling.\n    - gh-116034: Fix location of the error on a failed assertion.\n    - gh-115823: Properly calculate error ranges in the parser when\n      raising SyntaxError exceptions caused by invalid byte sequences.\n      Patch by Pablo Galindo\n    - gh-112087: For an empty reverse iterator for list will be\n      reduced to reversed(). Patch by Donghee Na.\n    - gh-115011: Setters for members with an unsigned integer type now\n      support the same range of valid values for objects that has a\n      __index__() method as for int.\n    - gh-96497: Fix incorrect resolution of mangled class variables\n      used in assignment expressions in comprehensions.\n\n  * Library\n\n    - gh-117310: Fixed an unlikely early & extra Py_DECREF triggered\n      crash in ssl when creating a new _ssl._SSLContext if CPython was\n      built implausibly such that the default cipher list is empty or\n      the SSL library it was linked against reports a failure from its\n      C SSL_CTX_set_cipher_list() API.\n    - gh-117178: Fix regression in lazy loading of self-referential\n      modules, introduced in gh-114781.\n    - gh-117084: Fix zipfile extraction for directory entries with the\n      name containing backslashes on Windows.\n    - gh-117110: Fix a bug that prevents subclasses of typing.Any to\n      be instantiated with arguments. Patch by Chris Fu.\n    - gh-90872: On Windows, subprocess.Popen.wait() no longer calls\n      WaitForSingleObject() with a negative timeout: pass 0 ms if the\n      timeout is negative. Patch by Victor Stinner.\n    - gh-116957: configparser: Don’t leave ConfigParser values in an\n      invalid state (stored as a list instead of a str) after an\n      earlier read raised DuplicateSectionError or\n      DuplicateOptionError.\n    - gh-90095: Ignore empty lines and comments in .pdbrc\n    - gh-116764: Restore support of None and other false values in\n      urllib.parse functions parse_qs() and parse_qsl(). Also, they\n      now raise a TypeError for non-zero integers and non-empty\n      sequences.\n    - gh-116811: In PathFinder.invalidate_caches, delegate to\n      MetadataPathFinder.invalidate_caches.\n    - gh-116600: Fix repr() for global Flag members.\n    - gh-116484: Change automatically generated tkinter.Checkbutton\n      widget names to avoid collisions with automatically generated\n      tkinter.ttk.Checkbutton widget names within the same parent\n      widget.\n    - gh-116401: Fix blocking os.fwalk() and shutil.rmtree() on\n      opening named pipe.\n    - gh-116143: Fix a race in pydoc _start_server, eliminating a\n      window in which _start_server can return a thread that is\n      “serving” but without a docserver set.\n    - gh-116325: typing: raise SyntaxError instead of AttributeError\n      on forward references as empty strings.\n    - gh-90535: Fix support of interval values > 1 in\n      logging.TimedRotatingFileHandler for when='MIDNIGHT' and\n      when='Wx'.\n    - gh-115978: Disable preadv(), readv(), pwritev(), and writev() on\n      WASI.\n    - Under wasmtime for WASI 0.2, these functions don’t pass\n      test_posix\n      (https://github.com/bytecodealliance/wasmtime/issues/7830).\n    - gh-88352: Fix the computation of the next rollover time in the\n      logging.TimedRotatingFileHandler handler. computeRollover() now\n      always returns a timestamp larger than the specified time and\n      works correctly during the DST change. doRollover() no longer\n      overwrite the already rolled over file, saving from data loss\n      when run at midnight or during repeated time at the DST change.\n    - gh-87115: Set __main__.__spec__ to None when running a script\n      with pdb\n    - gh-76511: Fix UnicodeEncodeError in email.Message.as_string()\n      that results when a message that claims to be in the ascii\n      character set actually has non-ascii characters. Non-ascii\n      characters are now replaced with the U+FFFD replacement\n      character, like in the replace error handler.\n    - gh-75988: Fixed unittest.mock.create_autospec() to pass the call\n      through to the wrapped object to return the real result.\n    - gh-115881: Fix issue where ast.parse() would incorrectly flag\n      conditional context managers (such as with (x() if y else z()):\n      ...) as invalid syntax if feature_version=(3, 8) was passed.\n      This reverts changes to the grammar made as part of gh-94949.\n    - gh-115886: Fix silent truncation of the name with an embedded\n      null character in multiprocessing.shared_memory.SharedMemory.\n    - gh-115809: Improve algorithm for computing which rolled-over log\n      files to delete in logging.TimedRotatingFileHandler. It is now\n      reliable for handlers without namer and with arbitrary\n      deterministic namer that leaves the datetime part in the file\n      name unmodified.\n    - gh-74668: urllib.parse functions parse_qs() and parse_qsl() now\n      support bytes arguments containing raw and percent-encoded\n      non-ASCII data.\n    - gh-67044: csv.writer() now always quotes or escapes '\\r' and\n      '\\n', regardless of lineterminator value.\n    - gh-115712: csv.writer() now quotes empty fields if delimiter is\n      a space and skipinitialspace is true and raises exception if\n      quoting is not possible.\n    - gh-115618: Fix improper decreasing the reference count for None\n      argument in property methods getter(), setter() and deleter().\n    - gh-115570: A DeprecationWarning is no longer omitted on access\n      to the __doc__ attributes of the deprecated typing.io and\n      typing.re pseudo-modules.\n    - gh-112006: Fix inspect.unwrap() for types with the __wrapper__\n      data descriptor.\n    - gh-101293: Support callables with the __call__() method and\n      types with __new__() and __init__() methods set to class\n      methods, static methods, bound methods, partial functions, and\n      other types of methods and descriptors in\n      inspect.Signature.from_callable().\n    - gh-115392: Fix a bug in doctest where incorrect line numbers\n      would be reported for decorated functions.\n    - gh-114563: Fix several format() bugs when using the C\n      implementation of Decimal: * memory leak in some rare cases when\n      using the z format option (coerce negative 0) * incorrect output\n      when applying the z format option to type F (fixed-point with\n      capital NAN / INF) * incorrect output when applying the # format\n      option (alternate form)\n    - gh-115197: urllib.request no longer resolves the hostname before\n      checking it against the system’s proxy bypass list on macOS and\n      Windows.\n    - gh-115198: Fix support of Docutils >= 0.19 in distutils.\n    - gh-115165: Most exceptions are now ignored when attempting to\n      set the __orig_class__ attribute on objects returned when\n      calling typing generic aliases (including generic aliases\n      created using typing.Annotated). Previously only AttributeError\n      was ignored. Patch by Dave Shawley.\n    - gh-115133: Fix tests for XMLPullParser with Expat 2.6.0.\n    - gh-115059: io.BufferedRandom.read1() now flushes the underlying\n      write buffer.\n    - gh-79382: Trailing ** no longer allows to match files and\n      non-existing paths in recursive glob().\n    - gh-114763: Protect modules loaded with importlib.util.LazyLoader\n      from race conditions when multiple threads try to access\n      attributes before the loading is complete.\n    - gh-97959: Fix rendering class methods, bound methods, method and\n      function aliases in pydoc. Class methods no longer have “method\n      of builtins.type instance” note. Corresponding notes are now\n      added for class and unbound methods. Method and function aliases\n      now have references to the module or the class where the origin\n      was defined if it differs from the current. Bound methods are\n      now listed in the static methods section. Methods of builtin\n      classes are now supported as well as methods of Python classes.\n    - gh-112281: Allow creating union of types for typing.Annotated\n      with unhashable metadata.\n    - gh-111775: Fix importlib.resources.simple.ResourceHandle.open()\n      for text mode, added missed stream argument.\n    - gh-90095: Make .pdbrc and -c work with any valid pdb commands.\n    - gh-107155: Fix incorrect output of help(x) where x is a lambda\n      function, which has an __annotations__ dictionary attribute with\n      a \"return\" key.\n    - gh-105866: Fixed _get_slots bug which caused error when defining\n      dataclasses with slots and a weakref_slot.\n    - gh-60346: Fix ArgumentParser inconsistent with parse_known_args.\n    - gh-100985: Update HTTPSConnection to consistently wrap IPv6\n      Addresses when using a proxy.\n    - gh-100884: email: fix misfolding of comma in address-lists\n      over multiple lines in combination with unicode encoding\n      (bsc#1238450 CVE-2025-1795)\n    - gh-95782: Fix io.BufferedReader.tell(),\n      io.BufferedReader.seek(), _pyio.BufferedReader.tell(),\n      io.BufferedRandom.tell(), io.BufferedRandom.seek() and\n      _pyio.BufferedRandom.tell() being able to return negative\n      offsets.\n    - gh-96310: Fix a traceback in argparse when all options in a\n      mutually exclusive group are suppressed.\n    - gh-93205: Fixed a bug in\n      logging.handlers.TimedRotatingFileHandler where multiple\n      rotating handler instances pointing to files with the same name\n      but different extensions would conflict and not delete the\n      correct files.\n    - bpo-44865: Add missing call to localization function in\n      argparse.\n    - bpo-43952: Fix multiprocessing.connection.Listener.accept() to\n      accept empty bytes as authkey. Not accepting empty bytes as key\n      causes it to hang indefinitely.\n    - bpo-42125: linecache: get module name from __spec__ if\n      available. This allows getting source code for the __main__\n      module when a custom loader is used.\n    - gh-66543: Make mimetypes.guess_type() properly parsing of URLs\n      with only a host name, URLs containing fragment or query, and\n      filenames with only a UNC sharepoint on Windows. Based on patch\n      by Dong-hee Na.\n    - bpo-33775: Add ‘default’ and ‘version’ help text for\n      localization in argparse.\n\n  * Documentation\n\n    - gh-115399: Document CVE-2023-52425 of Expat <2.6.0 under “XML\n      vulnerabilities”.\n    - gh-115233: Fix an example for LoggerAdapter in the Logging\n      Cookbook.\n\n  * IDLE\n\n    - gh-88516: On macOS show a proxy icon in the title bar of editor\n      windows to match platform behaviour.\n\n  * Tools/Demos\n\n    - gh-113516: Don’t set LDSHARED when building for WASI.\n\n  * C API\n\n    - gh-117021: Fix integer overflow in PyLong_AsPid() on non-Windows\n      64-bit platforms.\n\n- Add reference to CVE-2024-0450 (bsc#1221854) to changelog.\n","id":"SUSE-SU-2025:20374-1","modified":"2025-06-03T09:04:41Z","published":"2025-06-03T09:04:41Z","references":[{"type":"ADVISORY","url":"https://www.suse.com/support/update/announcement/2025/suse-su-202520374-1/"},{"type":"REPORT","url":"https://bugzilla.suse.com/1210638"},{"type":"REPORT","url":"https://bugzilla.suse.com/1219559"},{"type":"REPORT","url":"https://bugzilla.suse.com/1219666"},{"type":"REPORT","url":"https://bugzilla.suse.com/1221854"},{"type":"REPORT","url":"https://bugzilla.suse.com/1225660"},{"type":"REPORT","url":"https://bugzilla.suse.com/1226447"},{"type":"REPORT","url":"https://bugzilla.suse.com/1226448"},{"type":"REPORT","url":"https://bugzilla.suse.com/1227378"},{"type":"REPORT","url":"https://bugzilla.suse.com/1227999"},{"type":"REPORT","url":"https://bugzilla.suse.com/1228165"},{"type":"REPORT","url":"https://bugzilla.suse.com/1228780"},{"type":"REPORT","url":"https://bugzilla.suse.com/1229596"},{"type":"REPORT","url":"https://bugzilla.suse.com/1229704"},{"type":"REPORT","url":"https://bugzilla.suse.com/1230227"},{"type":"REPORT","url":"https://bugzilla.suse.com/1230906"},{"type":"REPORT","url":"https://bugzilla.suse.com/1231795"},{"type":"REPORT","url":"https://bugzilla.suse.com/1232241"},{"type":"REPORT","url":"https://bugzilla.suse.com/1236705"},{"type":"REPORT","url":"https://bugzilla.suse.com/1238450"},{"type":"REPORT","url":"https://bugzilla.suse.com/1239210"},{"type":"REPORT","url":"https://bugzilla.suse.com/1241067"},{"type":"REPORT","url":"https://bugzilla.suse.com/1243273"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2022-25236"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2023-27043"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2023-52425"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2023-6597"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-0397"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-0450"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-4030"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-4032"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-6232"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-6923"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-7592"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-8088"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2024-9287"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2025-0938"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2025-1795"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2025-4516"}],"related":["CVE-2022-25236","CVE-2023-27043","CVE-2023-52425","CVE-2023-6597","CVE-2024-0397","CVE-2024-0450","CVE-2024-4030","CVE-2024-4032","CVE-2024-6232","CVE-2024-6923","CVE-2024-7592","CVE-2024-8088","CVE-2024-9287","CVE-2025-0938","CVE-2025-1795","CVE-2025-4516"],"summary":"Security update for python311","upstream":["CVE-2022-25236","CVE-2023-27043","CVE-2023-52425","CVE-2023-6597","CVE-2024-0397","CVE-2024-0450","CVE-2024-4030","CVE-2024-4032","CVE-2024-6232","CVE-2024-6923","CVE-2024-7592","CVE-2024-8088","CVE-2024-9287","CVE-2025-0938","CVE-2025-1795","CVE-2025-4516"]}