Add new sys functions introduced to combat CVE-2020-10735 (#8733)

Co-authored-by: Akuli <akuviljanen17@gmail.com>
This commit is contained in:
Alex Waygood
2022-09-13 16:01:26 +01:00
committed by GitHub
parent 65c4ddfc57
commit a6c174cc7b
2 changed files with 12 additions and 1 deletions

View File

@@ -190,11 +190,15 @@ class _implementation:
int_info: _int_info
@final
class _int_info(structseq[int], tuple[int, int]):
class _int_info(structseq[int], tuple[int, int, int, int]):
@property
def bits_per_digit(self) -> int: ...
@property
def sizeof_digit(self) -> int: ...
@property
def default_max_str_digits(self) -> int: ...
@property
def str_digits_check_threshold(self) -> int: ...
@final
class _version_info(_UninstantiableStructseq, tuple[int, int, int, str, int]):
@@ -328,3 +332,8 @@ if sys.version_info < (3, 8):
_CoroWrapper: TypeAlias = Callable[[Coroutine[Any, Any, Any]], Any]
def set_coroutine_wrapper(__wrapper: _CoroWrapper) -> None: ...
def get_coroutine_wrapper() -> _CoroWrapper: ...
# The following two functions were added in 3.11.0, 3.10.7, 3.9.14, 3.8.14, & 3.7.14,
# as part of the response to CVE-2020-10735
def set_int_max_str_digits(maxdigits: int) -> None: ...
def get_int_max_str_digits() -> int: ...

View File

@@ -169,7 +169,9 @@ socketserver.BaseServer.get_request # implemented in derived classes
socketserver.BaseServer.server_bind # implemented in derived classes
ssl.Purpose.__new__ # You cannot override __new__ in NamedTuple and runtime uses namedtuple.
ssl._ASN1Object.__new__ # You cannot override __new__ in NamedTuple and runtime uses namedtuple.
(sys.get_int_max_str_digits)? # Added in a patch release, backported to all security branches, but has yet to find its way to all GitHub Actions images
sys.implementation # Actually SimpleNamespace but then you wouldn't have convenient attributes
(sys.set_int_max_str_digits)? # Added in a patch release, backported to all security branches, but has yet to find its way to all GitHub Actions images
sys.thread_info
tarfile.TarFile.errors # errors is initialized for some reason as None even though it really only accepts str
threading.Condition.acquire # Condition functions are exported in __init__