@@ -2664,7 +2664,7 @@ Notable security feature in 3.7.17.7 |
2664 | 2664 | the CVE-2023-27043 fix.) |
2665 | 2665 |
|
2666 | 2666 | Notable changes in 3.7.17.4 |
2667 | | -========================= |
| 2667 | +=========================== |
2668 | 2668 |
|
2669 | 2669 | tarfile |
2670 | 2670 | ------- |
@@ -2691,45 +2691,41 @@ cert-store |
2691 | 2691 | * Fixed CVE-2024-0397 Fix locking in ``cert_store_stats`` and ``get_ca_certs`` |
2692 | 2692 |
|
2693 | 2693 | Notable changes in 3.7.17.5 |
2694 | | -========================= |
| 2694 | +=========================== |
2695 | 2695 |
|
2696 | 2696 | pyexpat / libexpat |
2697 | 2697 | ------------------ |
2698 | 2698 |
|
2699 | 2699 | * Upgrade bundled libexpat to 2.6.3 to fix CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492. |
2700 | 2700 |
|
2701 | 2701 | Notable changes in 3.7.17.6 |
2702 | | -========================= |
| 2702 | +=========================== |
2703 | 2703 |
|
2704 | 2704 | pyexpat / libexpat |
2705 | 2705 | ------------------ |
2706 | 2706 |
|
2707 | 2707 | * Upgrade bundled libexpat to 2.6.4 to fix CVE-2024-50602. |
2708 | 2708 |
|
2709 | 2709 | Notable changes in 3.7.17.7 |
2710 | | -========================= |
| 2710 | +=========================== |
2711 | 2711 |
|
2712 | 2712 | Fixes for these CVEs: |
2713 | 2713 |
|
2714 | 2714 | CVE-2023-27043 |
2715 | 2715 |
|
2716 | 2716 | A vulnerability in Python's email module (up to version 3.11.3) causes incorrect parsing of email addresses containing special characters. This flaw misidentifies parts of RFC2822 headers, potentially allowing attackers to bypass domain-based email verification mechanisms in applications that restrict access to specific domains. |
2717 | | -NVD |
2718 | 2717 |
|
2719 | 2718 | CVE-2024-6232 |
2720 | 2719 |
|
2721 | 2720 | The tarfile module in CPython is susceptible to a Regular Expression Denial of Service (ReDoS) vulnerability due to inefficient regular expressions used during header parsing. Specifically crafted tar archives can trigger excessive backtracking, leading to significant CPU resource consumption and potential denial of service. |
2722 | | -NVD+5SUSE+5linux.oracle.com+5 |
2723 | 2721 |
|
2724 | 2722 | CVE-2024-7592 |
2725 | 2723 |
|
2726 | 2724 | A vulnerability in Python's http.cookies module arises when parsing cookie values containing backslashes within quoted strings. The parser employs an algorithm with quadratic complexity, which can be exploited to cause excessive CPU usage, resulting in a denial of service. |
2727 | | -NVD+1Ubuntu+1 |
2728 | 2725 |
|
2729 | 2726 | CVE-2024-9287 |
2730 | 2727 |
|
2731 | 2728 | In CPython's venv module, improper quoting of path names during virtual environment creation allows for command injection into activation scripts (e.g., source venv/bin/activate). This vulnerability enables attackers to execute arbitrary commands when such a virtual environment is activated. Virtual environments not created by an attacker or not activated before use are unaffected. |
2732 | | -starwindsoftware.com+2 |
2733 | 2729 |
|
2734 | 2730 | Notable changes in 3.7.17.8 |
2735 | 2731 | =========================== |
@@ -2945,3 +2941,56 @@ exists in later versions (``zipfile.Path``, ``SourcelessFileLoader`` audit |
2945 | 2941 | hooks and :func:`io.open_code`, :mod:`asyncio` UDP and introspection APIs, |
2946 | 2942 | ``getpath.py``), and the behavior changes upstream kept to 3.13 and later |
2947 | 2943 | (:mod:`base64` decoding, ``Morsel.js_output``). |
| 2944 | + |
| 2945 | +Notable changes in 3.7.17.9 |
| 2946 | +=========================== |
| 2947 | + |
| 2948 | +This ActiveState release moves the 3.7 line from OpenSSL 1.1.1, which |
| 2949 | +reached its end of life in September 2023, to OpenSSL 3. The ActiveState |
| 2950 | +3.9 and 3.10 lines already build against OpenSSL 3. The source still |
| 2951 | +builds against OpenSSL 1.1.1. |
| 2952 | + |
| 2953 | +ssl |
| 2954 | +--- |
| 2955 | + |
| 2956 | +* With OpenSSL 3, a peer that closes the connection without sending a TLS |
| 2957 | + ``close_notify`` alert ends the stream like a plain end of file, as it does |
| 2958 | + with OpenSSL 1.1.1, instead of raising |
| 2959 | + ``SSLError: unexpected eof while reading``. :data:`ssl.OP_IGNORE_UNEXPECTED_EOF` |
| 2960 | + is set by default. (:issue:`43794`) |
| 2961 | +* The error codes table is regenerated per OpenSSL version, so |
| 2962 | + :class:`ssl.SSLError` reports the right library and reason with OpenSSL 3 |
| 2963 | + instead of misnamed ones such as ``KRB5_S_TKT_NYV``. (:issue:`39953`, |
| 2964 | + :issue:`40266`, :issue:`43788`) |
| 2965 | +* :meth:`~ssl.SSLContext.load_cert_chain` no longer calls the password |
| 2966 | + callback a second time after it fails. (:issue:`43789`) |
| 2967 | + |
| 2968 | +Behavior changes from OpenSSL 3 |
| 2969 | +------------------------------- |
| 2970 | + |
| 2971 | +These come from OpenSSL 3 itself and match the ActiveState 3.9 and 3.10 |
| 2972 | +lines: |
| 2973 | + |
| 2974 | +* At OpenSSL's default security level, TLS 1.0 and 1.1 and SHA-1 |
| 2975 | + signatures are refused, and so are RSA keys shorter than 2048 bits on |
| 2976 | + OpenSSL 3.2 and later (the Platform builds with 3.5), or shorter than 1024 |
| 2977 | + bits on 3.0 and 3.1, whose default level is lower. Connecting to a server |
| 2978 | + that needs them fails until the context lowers the level, for example with |
| 2979 | + ``ctx.set_ciphers("DEFAULT:@SECLEVEL=0")``. |
| 2980 | +* Algorithms that OpenSSL 3 moved to its legacy provider are no longer |
| 2981 | + available unless that provider is loaded through an OpenSSL |
| 2982 | + configuration file. ``hashlib.new("md4")`` and ``hashlib.new("whirlpool")`` |
| 2983 | + raise :exc:`ValueError`, and they are not listed in |
| 2984 | + :data:`hashlib.algorithms_available`. MD4 is used for NTLM |
| 2985 | + authentication. |
| 2986 | +* Extension modules that link OpenSSL, such as ``cryptography``, |
| 2987 | + ``pyOpenSSL`` and ``psycopg2``, must be built against OpenSSL 3. Older |
| 2988 | + releases that do not support OpenSSL 3 (for example ``cryptography`` |
| 2989 | + before 35.0) no longer build. |
| 2990 | + |
| 2991 | +Build |
| 2992 | +----- |
| 2993 | + |
| 2994 | +* On Windows, the build copies the OpenSSL DLLs that match the OpenSSL |
| 2995 | + version in use (``libssl-3.dll`` for 3.x, ``libssl-1_1.dll`` for 1.1), |
| 2996 | + from its ``bin`` directory when it has one. |