From 836aaad6da0ed75926dc4339863b6665d27413d3 Mon Sep 17 00:00:00 2001 From: chgnrdv <52372310+chgnrdv@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:10:22 +0300 Subject: [PATCH] gh-94101 Disallow instantiation of SSLSession objects (GH-94102) Fixes GH-94101 Automerge-Triggered-By: GH:tiran (cherry picked from commit dc8e1d0390e16e90b2f74f6bd6417324a357bc23) Co-authored-by: chgnrdv <52372310+chgnrdv@users.noreply.github.com> --- .../next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst | 3 +++ Modules/_ssl.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst diff --git a/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst b/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst new file mode 100644 index 00000000000000..bcef0ca07470a6 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst @@ -0,0 +1,3 @@ +Manual instantiation of :class:`ssl.SSLSession` objects is no longer allowed +as it lead to misconfigured instances that crashed the interpreter when +attributes where accessed on them. diff --git a/Modules/_ssl.c b/Modules/_ssl.c index e67ab42050b26c..08596577086ac4 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -5067,7 +5067,8 @@ static PyType_Spec PySSLSession_spec = { .name = "_ssl.SSLSession", .basicsize = sizeof(PySSLSession), .flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | - Py_TPFLAGS_IMMUTABLETYPE), + Py_TPFLAGS_IMMUTABLETYPE | + Py_TPFLAGS_DISALLOW_INSTANTIATION), .slots = PySSLSession_slots, };