Category Archives: Advisories

CVE-2024-25285 – RedSys – 3DSecure 2.0 is vulnerable to form action hijacking

Read Time:23 Second

Posted by RUBEN LOPEZ HERRERA on Sep 11

Product: 3DSecure 2.0
Manufacturer: Redsys
Affected Version(s): 3DSecure 2.0 3DS Method Authentication
Tested Version(s): 3DSecure 2.0 3DS Method Authentication
Vulnerability Type: Cross-Site Scripting (XSS)
Risk Level: Medium
Solution Status: Not yet fixed
Manufacturer Notification: 2024-01-17
Solution Date: N/A
Public Disclosure: 2024-09-17
CVE Reference: CVE-2024-25285

Overview:
3DSecure 2.0 is vulnerable to form action hijacking via the…

Read More

CVE-2024-25284 – RedSys – Multiple reflected Cross-Site Scripting (XSS) vulnerabilities in the 3DS Authorization Method of 3DSecure 2.0

Read Time:22 Second

Posted by RUBEN LOPEZ HERRERA on Sep 11

Product: 3DSecure 2.0
Manufacturer: Redsys
Affected Version(s): 3DSecure 2.0 3DS Authorization Method
Tested Version(s): 3DSecure 2.0 3DS Authorization Method
Vulnerability Type: Cross-Site Scripting (XSS)
Risk Level: Medium
Solution Status: Not yet fixed
Manufacturer Notification: 2024-01-17
Solution Date: N/A
Public Disclosure: 2024-09-17
CVE Reference: CVE-2024-25284

Overview:
Multiple reflected Cross-Site Scripting (XSS) vulnerabilities in…

Read More

CVE-2024-25283 – RedSys – Multiple reflected Cross-Site Scripting (XSS) vulnerabilities exist in the 3DS Authorization Challenge of 3DSecure 2.0

Read Time:22 Second

Posted by RUBEN LOPEZ HERRERA on Sep 11

Product: 3DSecure 2.0
Manufacturer: Redsys
Affected Version(s): 3DSecure 2.0 3DS Authorization Challenge
Tested Version(s): 3DSecure 2.0 3DS Authorization Challenge
Vulnerability Type: Cross-Site Scripting (XSS)
Risk Level: Medium
Solution Status: Not yet fixed
Manufacturer Notification: 2024-01-17
Solution Date: N/A
Public Disclosure: 2024-09-17
CVE Reference: CVE-2024-25283

Overview:
Multiple reflected Cross-Site Scripting (XSS)…

Read More

CVE-2024-25282 – RedSys – 3DSecure 2.0 is vulnerable to Cross-Site Scripting (XSS) in its 3DSMethod Authentication

Read Time:24 Second

Posted by RUBEN LOPEZ HERRERA on Sep 11

Product: 3DSecure 2.0
Manufacturer: Redsys
Affected Version(s): 3DSecure 2.0 3DS Method Authentication
Tested Version(s): 3DSecure 2.0 3DS Method Authentication
Vulnerability Type: Cross-Site Scripting (XSS)
Risk Level: Medium
Solution Status: Not yet fixed
Manufacturer Notification: 2024-01-17
Solution Date: N/A
Public Disclosure: 2024-09-17
CVE Reference: CVE-2024-25282

Overview:
3DSecure 2.0 is vulnerable to Cross-Site Scripting (XSS) in its…

Read More

libopenmpt-0.7.9-1.el8

Read Time:2 Minute, 32 Second

FEDORA-EPEL-2024-a72ba05853

Packages in this update:

libopenmpt-0.7.9-1.el8

Update description:

libopenmpt 0.7.9 (2024-07-21)

[Sec] Potential division by 0 when seeking in the module with seek.sync_samples enabled (r21167).
[Change] The work-around for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049 has been changed from forcing -O1 on GCC 14 to setting -fno-ipa-ra on all GCC versions on non-ELF platforms. We are still not 100% sure if this work-around is sufficient in all circumstances. If you are using a non-ELF platform, it is strongly recommended to update GCC to versions 12.5.0, 13.4.0, 14.2.0, or 15.1.0 as soon as they are released, or to apply the patch from the linked GCC issues.
MOD: Allow sample swapping to work when swapping from a non-looping, stopped sample back to a looping sample (fixes MOD.energy).
DBM: Import second sustain point in case the first sustain point is not set, or if it has a lower index than the first.
DBM: When several instruments referenced the same sample with different properties (volume, loop points, etc.), only one set of properties was imported (fixes DBM.Supernova).
DBM: Prioritize effects more correctly when the same effect is encountered in both effect columns of a cell (fixes DBM.143_Gnoj).
DBM: Don’t import offset effects when there’s a tone portmento next to them.
DBM: A few IT-specific playback quirks are disabled for more accurate playback (e.g. in “Are You Flying With Me?” by Jazzcat).
DIGI: Sample play direction was reset if adjacent channel contained a Note Cut note.
AMF: When running out of sample slots, file reading became be misaligned because the sample name was not skipped.
MED: Command 0F was not imported.
MED: Upper frequency limits should be more accurate now.
MED: Channel panning is now only applied in MMD2 files if the free pan flag is set.
MED: Volume command resolution was incorrect for pre-MMD3 files.
XM: oggmod does not support stereo samples but keeps the stereo flag when encoding such samples. Such samples are now imported as mono samples instead of not importing them at all.
XM: For files saved with registered MadTracker 2 versions, do not put binary garbage (the user ID) in the tracker metadata field. It is replaced with “registered” instead.
For some truncated files, the used tracker was not identified correctly.
S3M: Identify files saved with early Impulse Tracker versions, Sound Club 2, Liquid Tracker, NESMusa, UNMO3, deMODifier, Kosmic To-S3M, and better tell old ModPlug Tracker versions apart.
S3M: When skipping sample loading, some tracker identifications were not working as intended.
IT: Identify files saved with itwriter.
DTM: Identify files saved with Digital Tracker 2.3.
xmp-openmpt: If there is only one subsong, set the song title to the “global” song title instead of the name of that subsong.
xmp-openmpt: Sample and instrument names were not sanitized, sometimes showing on multiple rows.

Read More

libopenmpt-0.7.9-1.el9

Read Time:2 Minute, 32 Second

FEDORA-EPEL-2024-45ce2e6776

Packages in this update:

libopenmpt-0.7.9-1.el9

Update description:

libopenmpt 0.7.9 (2024-07-21)

[Sec] Potential division by 0 when seeking in the module with seek.sync_samples enabled (r21167).
[Change] The work-around for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049 has been changed from forcing -O1 on GCC 14 to setting -fno-ipa-ra on all GCC versions on non-ELF platforms. We are still not 100% sure if this work-around is sufficient in all circumstances. If you are using a non-ELF platform, it is strongly recommended to update GCC to versions 12.5.0, 13.4.0, 14.2.0, or 15.1.0 as soon as they are released, or to apply the patch from the linked GCC issues.
MOD: Allow sample swapping to work when swapping from a non-looping, stopped sample back to a looping sample (fixes MOD.energy).
DBM: Import second sustain point in case the first sustain point is not set, or if it has a lower index than the first.
DBM: When several instruments referenced the same sample with different properties (volume, loop points, etc.), only one set of properties was imported (fixes DBM.Supernova).
DBM: Prioritize effects more correctly when the same effect is encountered in both effect columns of a cell (fixes DBM.143_Gnoj).
DBM: Don’t import offset effects when there’s a tone portmento next to them.
DBM: A few IT-specific playback quirks are disabled for more accurate playback (e.g. in “Are You Flying With Me?” by Jazzcat).
DIGI: Sample play direction was reset if adjacent channel contained a Note Cut note.
AMF: When running out of sample slots, file reading became be misaligned because the sample name was not skipped.
MED: Command 0F was not imported.
MED: Upper frequency limits should be more accurate now.
MED: Channel panning is now only applied in MMD2 files if the free pan flag is set.
MED: Volume command resolution was incorrect for pre-MMD3 files.
XM: oggmod does not support stereo samples but keeps the stereo flag when encoding such samples. Such samples are now imported as mono samples instead of not importing them at all.
XM: For files saved with registered MadTracker 2 versions, do not put binary garbage (the user ID) in the tracker metadata field. It is replaced with “registered” instead.
For some truncated files, the used tracker was not identified correctly.
S3M: Identify files saved with early Impulse Tracker versions, Sound Club 2, Liquid Tracker, NESMusa, UNMO3, deMODifier, Kosmic To-S3M, and better tell old ModPlug Tracker versions apart.
S3M: When skipping sample loading, some tracker identifications were not working as intended.
IT: Identify files saved with itwriter.
DTM: Identify files saved with Digital Tracker 2.3.
xmp-openmpt: If there is only one subsong, set the song title to the “global” song title instead of the name of that subsong.
xmp-openmpt: Sample and instrument names were not sanitized, sometimes showing on multiple rows.

Read More

python3.8-3.8.20-1.fc40

Read Time:4 Minute, 14 Second

FEDORA-2024-6dedbc5cf9

Packages in this update:

python3.8-3.8.20-1.fc40

Update description:

This is a security release of Python 3.11

Note: The release you’re looking at is Python 3.11.10, a security bugfix release for the legacy 3.11 series. Python 3.12 is now the latest feature release series of Python 3.

Security content in this release

gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. That’s CVE-2024-6923.
gh-119690: Fixes data type confusion in audit events raised by _winapi.CreateFile and _winapi.CreateNamedPipe.
gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.
gh-112275: A deadlock involving pystate.c’s HEAD_LOCK in posixmodule.c at fork is now fixed.This is a security release of Python 3.9

Note: The release you’re looking at is Python 3.9.20, a security bugfix release for the legacy 3.9 series. Python 3.12 is now the latest feature release series of Python 3. Get the latest release of 3.12.x here.

Security content in this release

gh-123678 and gh-116741: Upgrade bundled libexpat to 2.6.3 to fix CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492.
gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default.
gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see [`ver

Read More

python3.8-3.8.20-1.fc41

Read Time:4 Minute, 14 Second

FEDORA-2024-7a069f48e4

Packages in this update:

python3.8-3.8.20-1.fc41

Update description:

This is a security release of Python 3.11

Note: The release you’re looking at is Python 3.11.10, a security bugfix release for the legacy 3.11 series. Python 3.12 is now the latest feature release series of Python 3.

Security content in this release

gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. That’s CVE-2024-6923.
gh-119690: Fixes data type confusion in audit events raised by _winapi.CreateFile and _winapi.CreateNamedPipe.
gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.
gh-112275: A deadlock involving pystate.c’s HEAD_LOCK in posixmodule.c at fork is now fixed.This is a security release of Python 3.9

Note: The release you’re looking at is Python 3.9.20, a security bugfix release for the legacy 3.9 series. Python 3.12 is now the latest feature release series of Python 3. Get the latest release of 3.12.x here.

Security content in this release

gh-123678 and gh-116741: Upgrade bundled libexpat to 2.6.3 to fix CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492.
gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default.
gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see [`ver

Read More

python3.8-3.8.20-1.fc39

Read Time:4 Minute, 14 Second

FEDORA-2024-f652468298

Packages in this update:

python3.8-3.8.20-1.fc39

Update description:

This is a security release of Python 3.11

Note: The release you’re looking at is Python 3.11.10, a security bugfix release for the legacy 3.11 series. Python 3.12 is now the latest feature release series of Python 3.

Security content in this release

gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. That’s CVE-2024-6923.
gh-119690: Fixes data type confusion in audit events raised by _winapi.CreateFile and _winapi.CreateNamedPipe.
gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.
gh-112275: A deadlock involving pystate.c’s HEAD_LOCK in posixmodule.c at fork is now fixed.This is a security release of Python 3.9

Note: The release you’re looking at is Python 3.9.20, a security bugfix release for the legacy 3.9 series. Python 3.12 is now the latest feature release series of Python 3. Get the latest release of 3.12.x here.

Security content in this release

gh-123678 and gh-116741: Upgrade bundled libexpat to 2.6.3 to fix CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492.
gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default.
gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see [`ver

Read More

python3.9-3.9.20-1.fc39

Read Time:4 Minute, 14 Second

FEDORA-2024-7db9258d37

Packages in this update:

python3.9-3.9.20-1.fc39

Update description:

This is a security release of Python 3.11

Note: The release you’re looking at is Python 3.11.10, a security bugfix release for the legacy 3.11 series. Python 3.12 is now the latest feature release series of Python 3.

Security content in this release

gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. That’s CVE-2024-6923.
gh-119690: Fixes data type confusion in audit events raised by _winapi.CreateFile and _winapi.CreateNamedPipe.
gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.
gh-112275: A deadlock involving pystate.c’s HEAD_LOCK in posixmodule.c at fork is now fixed.This is a security release of Python 3.9

Note: The release you’re looking at is Python 3.9.20, a security bugfix release for the legacy 3.9 series. Python 3.12 is now the latest feature release series of Python 3. Get the latest release of 3.12.x here.

Security content in this release

gh-123678 and gh-116741: Upgrade bundled libexpat to 2.6.3 to fix CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 and CVE-2024-45492.
gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default.
gh-123067: Fix quadratic complexity in parsing “-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.
gh-113171: Fixed various false positives and false negatives in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Fixes CVE-2024-4032.
gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.
gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.
gh-122133: Authenticate the socket connection for the socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.
gh-121285: Remove backtracking from tarfile header parsing for hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.
gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.
gh-102988: email.utils.getaddresses() and email.utils.parseaddr() now return (”, ”) 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional strict parameter to these two functions: use strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, ‘supports_strict_parsing’, False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.
gh-123270: Sanitize names in zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.
gh-121650: email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see [`ver

Read More