]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-95913: Forward-port int/str security change to 3.11 What's New in main (#98344)
authorC.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Mon, 17 Oct 2022 01:43:13 +0000 (20:43 -0500)
committerGitHub <noreply@github.com>
Mon, 17 Oct 2022 01:43:13 +0000 (18:43 -0700)
Add int/str security change from issue gh-95778 PRs gh-96499 / gh-95800

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
Doc/whatsnew/3.11.rst

index 56a35f4e4802ba7e6ceb550c883e30b01a3ac185..73e23a1a9e7f956c823becef87c1d9481e0574dc 100644 (file)
@@ -530,6 +530,17 @@ Other CPython Implementation Changes
   and with the new :option:`--help-all`.
   (Contributed by Éric Araujo in :issue:`46142`.)
 
+* Converting between :class:`int` and :class:`str` in bases other than 2
+  (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal)
+  now raises a :exc:`ValueError` if the number of digits in string form is
+  above a limit to avoid potential denial of service attacks due to the
+  algorithmic complexity. This is a mitigation for `CVE-2020-10735
+  <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_.
+  This limit can be configured or disabled by environment variable, command
+  line flag, or :mod:`sys` APIs. See the :ref:`integer string conversion
+  length limitation <int_max_str_digits>` documentation.  The default limit
+  is 4300 digits in string form.
+
 
 .. _whatsnew311-new-modules: