summaryrefslogtreecommitdiffstats
path: root/Lib/hashlib.py
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2020-05-25 08:43:10 (GMT)
committerGitHub <noreply@github.com>2020-05-25 08:43:10 (GMT)
commit4cc2f9348c6e899b76af811fa3bb6c60de642a28 (patch)
treecbe9b824f9cd633f2b72f5ffd2809e664c8869ce /Lib/hashlib.py
parent3f59b55316f4c6ab451997902579aa69020b537c (diff)
downloadcpython-4cc2f9348c6e899b76af811fa3bb6c60de642a28.zip
cpython-4cc2f9348c6e899b76af811fa3bb6c60de642a28.tar.gz
cpython-4cc2f9348c6e899b76af811fa3bb6c60de642a28.tar.bz2
bpo-40695: Limit hashlib builtin hash fallback (GH-20259)
:mod:`hashlib` no longer falls back to builtin hash implementations when OpenSSL provides a hash digest and the algorithm is blocked by security policy. Signed-off-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Lib/hashlib.py')
-rw-r--r--Lib/hashlib.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/hashlib.py b/Lib/hashlib.py
index 8d119a4..1b6e502 100644
--- a/Lib/hashlib.py
+++ b/Lib/hashlib.py
@@ -127,8 +127,9 @@ def __get_openssl_constructor(name):
# SHA3/shake are available in OpenSSL 1.1.1+
f = getattr(_hashlib, 'openssl_' + name)
# Allow the C module to raise ValueError. The function will be
- # defined but the hash not actually available thanks to OpenSSL.
- f()
+ # defined but the hash not actually available. Don't fall back to
+ # builtin if the current security policy blocks a digest, bpo#40695.
+ f(usedforsecurity=False)
# Use the C function directly (very fast)
return f
except (AttributeError, ValueError):