diff --git a/Misc/NEWS.d/next/Windows/2026-05-03-14-07-51.gh-issue-149254.ENtMYD.rst b/Misc/NEWS.d/next/Windows/2026-05-03-14-07-51.gh-issue-149254.ENtMYD.rst
new file mode 100644
index 00000000000..5b7f20dff7c
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2026-05-03-14-07-51.gh-issue-149254.ENtMYD.rst
@@ -0,0 +1 @@
+Updated bundled version of OpenSSL to 3.0.20.
diff --git a/Misc/externals.spdx.json b/Misc/externals.spdx.json
index 8b8aa776175..a3eae97b1bf 100644
--- a/Misc/externals.spdx.json
+++ b/Misc/externals.spdx.json
@@ -70,21 +70,21 @@
"checksums": [
{
"algorithm": "SHA256",
- "checksumValue": "c6ea8a5423f3966923060db2089f869017dfb10bcf2037394146e7a74caec0a8"
+ "checksumValue": "ebaaba68e727233bda99cbb4164bdfa0894f3a1cab90a2cbcaca9d3cadebe8cd"
}
],
- "downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.19.tar.gz",
+ "downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.20.tar.gz",
"externalRefs": [
{
"referenceCategory": "SECURITY",
- "referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.19:*:*:*:*:*:*:*",
+ "referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.20:*:*:*:*:*:*:*",
"referenceType": "cpe23Type"
}
],
"licenseConcluded": "NOASSERTION",
"name": "openssl",
"primaryPackagePurpose": "SOURCE",
- "versionInfo": "3.0.19"
+ "versionInfo": "3.0.20"
},
{
"SPDXID": "SPDXRef-PACKAGE-sqlite",
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 4fda1c5b28e..d043b167e6f 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -53,7 +53,7 @@ echo.Fetching external libraries...
set libraries=
set libraries=%libraries% bzip2-1.0.8
if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.4
-if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-3.0.19
+if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-3.0.20
set libraries=%libraries% mpdecimal-4.0.0
set libraries=%libraries% sqlite-3.50.4.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.15.0
@@ -77,7 +77,7 @@ echo.Fetching external binaries...
set binaries=
if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.4
-if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-3.0.19
+if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-3.0.20
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.15.0
if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06
diff --git a/PCbuild/python.props b/PCbuild/python.props
index c29caa61bbd..a63091b899c 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -76,8 +76,8 @@
$(libffiDir)$(ArchName)\
$(libffiOutDir)include
$(ExternalsDir)\mpdecimal-4.0.0\
- $(ExternalsDir)openssl-3.0.19\
- $(ExternalsDir)openssl-bin-3.0.19\$(ArchName)\
+ $(ExternalsDir)openssl-3.0.20\
+ $(ExternalsDir)openssl-bin-3.0.20\$(ArchName)\
$(opensslOutDir)include
$(ExternalsDir)\nasm-2.11.06\
$(ExternalsDir)\zlib-1.3.1\