MGASA-2026-0565: Updated python3 & python-pip packages fixes security vulnerabilities
CVE-2026-12345 The cleanup of tempfile.TemporaryDirectory is vulnerable to a race condition. An attacker who can modify the tree during cleanup can replace a directory with a symbolic link, causing files outside of the temporary directory to be deleted or have their permissions and file flags reset, with the privileges of the process performing the cleanup. Note that platforms where shutil.rmtree.avoidssymlinkattacks is false, remain affected, and file flags may still be reset outside of the tree on all platforms. CVE-2026-19553 ssl.SSLContext.wrapbio() didn't require the serverhostname argument to not be None if ssl.SSLContext.checkhostname was set. Due to a missing parameter check in SSLObject, if the serverhostname argument isn't supplied then hostname verification would be silently skipped. This defect could lead to programs where certificate hostname verification appeared to be succeeding with SSLContext.checkhostname = True and no ValueError being raised due to misconfiguration. If the program passes a serverhostname value that isn't an empty string or None to any of these APIs then certificate hostname verification proceeds as expected and the program is not affected by this vulnerability. Mitigating this vulnerability doesn't require updating Python or applying the patch. To mitigate, pass a valid non-None and non-empty serverhostname value to SSLContext.wrapbio(), asyncio.createconnection(), or asyncio.loop.starttls() and certificate hostname verification will proceed as expected. Upgrading to the latest version of Python or applying the patch only changes the behavior from silently skipping hostname verification to raising a ValueError, similar to SSLContext.wrapsocket(), when serverhostname isn't supplied. CVE-2026-19445 A remote, unauthenticated TLS client can make a server crash or call through a freed pointer if its snicallback assigns a different context to SSLSocket.context (the documented way to select a certificate per server name) and nothing else keeps the original ssl.SSLContext alive. Typical cases are servers that create an SSLContext per connection or replace it while connections are open; servers that wrap their listening socket with it are not affected. Mitigation: keep a reference to every SSLContext that sets snicallback for the lifetime of the server. TLS clients are not affected. CVE-2026-114583 tarfile.tarfilter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() with filter="tar" to write files outside the destination directory, subject to the permissions of the extracting process. This is the tarfile.tarfilter counterpart of CVE-2026-7774, which covered tarfile.datafilter.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
mageia/python3to a version that resolves this vulnerability.Fixed in 3.13.17-1.mga10 - Upgrade
Upgrade
mageia/python-pipto a version that resolves this vulnerability.Fixed in 26.2.2-1.mga10 - Configuration
Use tarfile.data_filter (filter="data") instead of tarfile.tar_filter when extracting archives.
Python tarfile extraction filter = data - Configuration
Pass a valid non-None and non-empty server_hostname to SSLContext.wrap_bio(), SSLContext.wrap_socket(), asyncio.create_connection(), or asyncio.loop.start_tls() when hostname verification is required.
Python SSL APIs server_hostname = valid, non-None, and non-empty - Operational
Keep a reference to every ssl.SSLContext that sets sni_callback for the lifetime of the server, rather than allowing the original context to be freed or replaced while connections are open.
Event History
Child vulnerabilities
Contains the following vulnerabilities.