Path to this page:
./
lang/python311,
Interpreted, interactive, object-oriented programming language
Branch: CURRENT,
Version: 3.11.18,
Package name: python311-3.11.18,
Maintainer: pkgsrc-usersPython is an interpreted, interactive, object-oriented
programming language that combines remarkable power with
very clear syntax. For an introduction to programming in
Python you are referred to the Python Tutorial. The
Python Library Reference documents built-in and standard
types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics
of the core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an exten-
sion language for existing applications. See the internal
documentation for hints.
This package provides Python version 3.11.x.
Package options: readline, x11
Master sites:
Filesize: 19874.141 KB
Version history: (Expand)
- (2026-10-26) Updated to version: python311-3.11.18
- (2026-10-01) Updated to version: python311-3.11.17
- (2026-08-13) Updated to version: python311-3.11.16
- (2026-03-04) Updated to version: python311-3.11.15
- (2026-01-07) Updated to version: python311-3.11.14nb1
- (2025-10-10) Updated to version: python311-3.11.14
CVS history: (Expand)
2026-10-26 14:07:24 by Adam Ciarcinski | Files touched by this commit (5) |  |
Log message:
python311 py311-html-docs: updated to 3.11.18
Python 3.11.18
Security
gh-160300: Fix http.cookiejar.DefaultCookiePolicy accepting and returning \
cookies with a negative Version attribute without checking their domain against \
the request host. Such cookies are now ignored.
CVE-2026-114583, gh-160097: tarfile.tar_filter() now rejects link members whose \
path resolves to the destination directory itself, as tarfile.data_filter() \
already did.
CVE-2026-115557, gh-160040: ssl now rejects TLS certificate chains that contain \
any of a set of compromised eMudhra intermediate CA keys. This is an \
extraordinary measure and a last line of defense: removing trust is primarily \
the job of the platform root store, and the built-in denylist only blocks \
connections while that update has not yet reached the OS, a container image, or \
a bundled trust store in various Python packages. Entries are added to the \
denylist only under a very high threshold. The denylist matches on the public \
key (the SHA-256 digest of the RFC 5280 SubjectPublicKeyInfo), so it also covers \
the cross-signed certificates that reuse one of the distrusted keys.
gh-159428: mimetypes no longer reads the files listed in mimetypes.knownfiles by \
default on Windows, and uses only the registry.
gh-157953: Update bundled libexpat to version 2.9.0.
Library
gh-87720: Fixed error in email new policies where header folding failed to \
detect the need to re-quote text obtained from encoded words in certain cases.
|
2026-10-01 09:48:34 by Adam Ciarcinski | Files touched by this commit (4) |  |
Log message:
python311 py311-html-docs: updated to 3.11.17
3.11.17
Security
gh-158446: Fix a crash or incorrect output that could occur when formatting a \
float or complex with a precision close to the platform’s INT_MAX. \
PyOS_double_to_string() now raises ValueError for any precision of that \
magnitude, regardless of presentation type or value, as the format string \
parsers already did for precisions above INT_MAX.
gh-156793: asyncio: loop.start_tls() and loop.create_connection() now validate \
the server_hostname argument if an ssl.SSLContext is passed with check_hostname \
set to True, emitting DeprecationWarning if server_hostname is missing. (This \
will raise ValueError in Python 3.13 and later.)
gh-156793: ssl.SSLContext.wrap_bio() now validates its server_side, \
server_hostname and session arguments similar to ssl.SSLContext.wrap_socket(), \
but for backward compatiblity reasons emits DeprecationWarning instead of \
ValueError.
In particular, a context with check_hostname enabled and no server_hostname \
passed to wrap_bio() now emits DeprecationWarning to indicate the hostname \
wasn’t checked. (In Python 3.13 and later, this raises ValueError.)
gh-157265: In tarfile, when extracting a link falls back to extracting a member \
of the archive, skip the member when the filter function returns None when \
called with the extracted member’s name replaced with the link’s.
gh-157190: Fixed a vulnerability in the tarfile data and tar extraction filters \
where a crafted archive using a hard link to a symbolic link could change the \
permissions and modification time of a file outside the destination directory, \
and expose its contents inside the extracted tree. This addresses CVE \
2026-82049.
gh-157953: Update bundled libexpat to version 2.8.5.
gh-156002: Bound the amount of data zipfile decompresses per read for members \
compressed with bzip2, LZMA, or Zstandard, matching the existing limit for \
deflate. A small archive member could previously expand into an unbounded \
allocation even when read in small chunks.
gh-155999: Fix the tarfile tar and data extraction filters creating directories \
outside the destination for members whose name leaves the destination and \
returns to it, such as ../evil/../dest/sub/file. The containment check used the \
resolved path, but intermediate directories were created from the name as given.
gh-156293: Fix a crash in ssl when an sni_callback switches a connection to \
another SSLContext and the context that carries the callback is no longer \
referenced by the application. Servers that keep their sni_callback context \
alive (the usual case when it wraps the listening socket or is stored on the \
server object) were not affected. This addresses CVE-2026-19445.
gh-155292: Change the stringprep module and encodings.idna codec to not consider \
Unicode codepoint attributes beyond those defined in RFC 3454.
gh-155694: Fix CVE-2026-15806 by scoping HTTPPasswordMgr credentials to the URL \
scheme, preventing credentials stored for an HTTPS URL from being used for a \
matching HTTP URL, while URIs without a scheme continue to match any scheme.
Library
gh-156002: zipfile again reads members through a third-party decompressor \
installed by monkey-patching the private _get_decompressor() to return an object \
that only implements old BZ2Decompressor API from Python 3.3. Note that \
decompressors without needs_input and two-argument decompress() are vulnerable \
to CVE 2026-15310.
gh-156353: Fix configparser parsing when using whitespace in delimiters.
Build
gh-155757: Set the --argv0 argument to wasmtime for WASI builds so the test \
suite passes. Otherwise the calculated paths to the stdlib for frozen modules is \
incorrect.
|
2026-08-13 14:26:36 by Adam Ciarcinski | Files touched by this commit (4) |  |
Log message:
python311 py311-html-docs: updated to 3.11.16
3.11.16
macOS
gh-137586: Invoke osascript with absolute path in webbrowser and turtledemo.
Tests
gh-149776: Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite tests if \
it’s not supported. Patch by Victor Stinner.
Security
gh-155558: Update bundled libexpat to version 2.8.3 for the fix to CVE-2026-72522.
gh-153030: Fixed quadratic complexity in incremental parsing of long \
unterminated constructs (such as tags or comments) in html.parser.HTMLParser, \
which could be exploited for a denial of service.
gh-152674: The xml.etree.ElementTree.Element methods findall(), iterfind() and \
find() avoid quadratic behavior when using XPath index predicates ([1], \
[last()], [last()-N]) on XML documents with many same-tag siblings.
gh-152216: Update bundled libexpat to version 2.8.2.
gh-151987: The tarfile.TarFile.extract() method now applies the given filter \
when it extracts a link target from the archive as a fallback.
gh-151981: In tarfile, seeking a stream now stops when end of the stream is reached.
gh-151544: Modules/Setup.local is no longer used as a landmark to discover \
whether Python is running in a source tree, as it could potentially affect \
actual installs. The pybuilddir.txt file is now the sole indicator of running in \
a source tree.
gh-151558: Fixed an vulnerability in the tarfile data and tar extraction filters \
where crafted archives could create a symlink pointing outside the destination \
directory. This was a bypass of CVE-2025-4330.
gh-150599: Fix a possible stack buffer overflow in bz2 when a \
bz2.BZ2Decompressor is reused after a decompression error. The decompressor now \
becomes unusable after libbz2 reports an error.
gh-150743: http.client now limits the number of chunked-response trailer lines \
it will read to 100, and the number of interim (1xx) responses it will skip to \
100. A malicious or broken server could previously stream trailer lines or 100 \
Continue responses forever, hanging the client even when a socket timeout was in \
use. Reported by @YLChen-007 via GHSA-w4q2-g22w-6fr4.
gh-149698: Update bundled libexpat to version 2.8.1 for the fix for CVE-2026-45186.
gh-87451: The ftplib module’s undocumented ftpcp function no longer trusts the \
IPv4 address value returned from the source server in response to the PASV \
command by default, completing the fix for CVE-2021-4189. As with ftplib.FTP, \
the former behavior can be re-enabled by setting the \
trust_server_pasv_ipv4_address attribute on the source ftplib.FTP instance to \
True. Thanks to Qi Deng at Aurascape AI for the report.
gh-149486: tarfile.data_filter() now validates link targets using the same \
normalised value that is written to disk, strips trailing separators from the \
member name when resolving a symlink’s directory, and rejects link members \
that would replace the destination directory itself. This closes several \
path-traversal bypasses of the data extraction filter.
gh-149079: Fix a potential denial of service in unicodedata.normalize(). The \
canonical ordering step of Unicode normalization used a quadratic-time insertion \
sort for reordering combining characters, which could be exploited with crafted \
input containing many combining characters in non-canonical order. Replaced with \
a linear-time counting sort for long runs.
gh-149018: Improved protection against XML hash-flooding attacks in \
xml.parsers.expat and xml.etree.ElementTree when Python is compiled with \
libExpat 2.8.0 or later.
gh-149017: Update bundled libexpat to version 2.8.0.
gh-148808: Added buffer boundary check when using nbytes parameter with \
asyncio.AbstractEventLoop.sock_recvfrom_into(). Only relevant for Windows and \
the asyncio.ProactorEventLoop.
gh-148395: Fix a dangling input pointer in lzma.LZMADecompressor, and \
bz2.BZ2Decompressor when memory allocation fails with MemoryError, which could \
let a subsequent decompress() call read or write through a stale pointer to the \
already-released caller buffer.
gh-148169: A bypass in webbrowser allowed URLs prefixed with %action to pass the \
dash-prefix safety check.
gh-146581: Fix vulnerability in shutil.unpack_archive() for ZIP files on Windows \
which allowed to write files outside of the destination tree if the patch in the \
archive contains a Windows drive prefix. Now such invalid paths will be skipped. \
Files containing “..” in the name (like “foo..bar”) are no longer \
skipped.
gh-146333: Fix quadratic backtracking in configparser.RawConfigParser option \
parsing regexes (OPTCRE and OPTCRE_NV). A crafted configuration line with many \
whitespace characters could cause excessive CPU usage.
gh-146211: Reject CR/LF characters in tunnel request headers for the \
HTTPConnection.set_tunnel() method.
gh-145986: xml.parsers.expat: Fixed a crash caused by unbounded C recursion when \
converting deeply nested XML content models with ElementDeclHandler(). This \
addresses CVE-2026-4224.
gh-145599: Reject control characters in http.cookies.Morsel update() and \
js_output(). This addresses CVE-2026-3644.
gh-145506: Fixes CVE-2026-2297 by ensuring that SourcelessFileLoader uses \
io.open_code() when opening .pyc files.
gh-144370: Disallow usage of control characters in status in wsgiref.handlers to \
prevent HTTP header injections. Patch by Benedikt Johannes.
gh-143930: Reject leading dashes in URLs passed to webbrowser.open().
gh-143927: Normalize all line endings (CR, CRLF, and LF) to LF+TAB when writing \
multi-line configparser values.
Library
gh-109638: Fix exponential time in csv.Sniffer.sniff() for a sample which \
contains many quote characters. A doubled quote character is now also detected \
in a field which contains the delimiter or a line break.
gh-98820: Fix quadratic time in csv.Sniffer.sniff() for a sample which contains \
quoted fields, in particular for a single column of quoted fields.
gh-149231: In tomllib, the number of parts in TOML keys is now limited.
gh-146083: Update bundled libexpat to version 2.7.5.
gh-141707: Don’t change tarfile.TarInfo type from AREGTYPE to DIRTYPE when \
parsing GNU long name or link headers.
gh-90949: Add SetBillionLaughsAttackProtectionActivationThreshold() and \
SetBillionLaughsAttackProtectionMaximumAmplification() to xmlparser objects to \
tune protections against billion laughs attacks. Patch by Bénédikt Tran.
gh-100372: ssl.SSLContext.load_verify_locations() no longer incorrectly accepts \
some cases of trailing data when parsing DER.
Build
gh-153438: Update Windows build and installer tooling and documentation to use \
the current download URL for nuget.exe.
|
| 2026-03-25 23:52:08 by Thomas Klausner | Files touched by this commit (5) |
Log message:
python*: restrict expat workaround to NetBSD<11.99.5
that version installs expat_config.h
Pullups for 10, 11 have been filed, the pattern can be improved
when they are merged.
|
| 2026-03-20 15:01:10 by Adam Ciarcinski | Files touched by this commit (4) |
Log message:
python31*: force use expat from pkgsrc to fix builds across platforms
|
| 2026-03-19 17:58:46 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
Remove --with-system-expat configure option
|
2026-03-04 07:51:45 by Adam Ciarcinski | Files touched by this commit (5) |  |
Log message:
python311 py311-html-docs: updated to 3.11.15
Python 3.11.15
Security
gh-144125: BytesGenerator will now refuse to serialize (write) headers that are \
unsafely folded or delimited; see verify_generated_headers. (Contributed by Bas \
Bloemsaat and Petr Viktorin in gh-121650).
gh-143935: Fixed a bug in the folding of comments when flattening an email \
message using a modern email policy. Comments consisting of a very long sequence \
of non-foldable characters could trigger a forced line wrap that omitted the \
required leading space on the continuation line, causing the remainder of the \
comment to be interpreted as a new header field. This enabled header injection \
with carefully crafted inputs.
gh-143925: Reject control characters in data: URL media types.
gh-143919: Reject control characters in http.cookies.Morsel fields and values.
gh-143916: Reject C0 control characters within wsgiref.headers.Headers fields, \
values, and parameters.
gh-142145: Remove quadratic behavior in xml.minidom node ID cache clearing. In \
order to do this without breaking existing users, we also add the ownerDocument \
attribute to xml.dom.minidom elements and attributes created by directly \
instantiating the Element or Attr class. Note that this way of creating nodes is \
not supported; creator functions like xml.dom.Document.documentElement() should \
be used instead.
gh-137836: Add support of the “plaintext” element, RAWTEXT elements \
“xmp”, “iframe”, “noembed” and “noframes”, and optionally \
RAWTEXT element “noscript” in html.parser.HTMLParser.
gh-136063: email.message: ensure linear complexity for legacy HTTP parameters \
parsing. Patch by Bénédikt Tran.
gh-136065: Fix quadratic complexity in os.path.expandvars().
gh-119451: Fix a potential memory denial of service in the http.client module. \
When connecting to a malicious server, it could cause an arbitrary amount of \
memory to be allocated. This could have led to symptoms including a MemoryError, \
swapping, out of memory (OOM) killed processes or containers, or even system \
crashes.
gh-119452: Fix a potential memory denial of service in the http.server module. \
When a malicious user is connected to the CGI server on Windows, it could cause \
an arbitrary amount of memory to be allocated. This could have led to symptoms \
including a MemoryError, swapping, out of memory (OOM) killed processes or \
containers, or even system crashes.
gh-119342: Fix a potential memory denial of service in the plistlib module. When \
reading a Plist file received from untrusted source, it could cause an arbitrary \
amount of memory to be allocated. This could have led to symptoms including a \
MemoryError, swapping, out of memory (OOM) killed processes or containers, or \
even system crashes.
Library
gh-144833: Fixed a use-after-free in ssl when SSL_new() returns NULL in \
newPySSLSocket(). The error was reported via a dangling pointer after the object \
had already been freed.
gh-144363: Update bundled libexpat to 2.7.4
gh-90949: Add SetAllocTrackerActivationThreshold() and \
SetAllocTrackerMaximumAmplification() to xmlparser objects to prevent use of \
disproportional amounts of dynamic memory from within an Expat parser. Patch by \
Bénédikt Tran.
Core and Builtins
gh-120384: Fix an array out of bounds crash in list_ass_subscript, which could \
be invoked via some specificly tailored input: including concurrent modification \
of a list object, where one thread assigns a slice and another clears it.
gh-120298: Fix use-after free in list_richcompare_impl which can be invoked via \
some specificly tailored evil input.
|
| 2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525) |
Log message:
*: recursive bump for icu 78.1
|