diff --git a/Misc/NEWS.d/next/Windows/2026-05-03-14-35-46.gh-issue-149254.mcu6PU.rst b/Misc/NEWS.d/next/Windows/2026-05-03-14-35-46.gh-issue-149254.mcu6PU.rst
new file mode 100644
index 00000000000..946654700a1
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2026-05-03-14-35-46.gh-issue-149254.mcu6PU.rst
@@ -0,0 +1 @@
+Updated bundled version of OpenSSL to 3.5.6.
diff --git a/Misc/externals.spdx.json b/Misc/externals.spdx.json
index bb3ecd25a4d..4a294588a61 100644
--- a/Misc/externals.spdx.json
+++ b/Misc/externals.spdx.json
@@ -70,21 +70,21 @@
"checksums": [
{
"algorithm": "SHA256",
- "checksumValue": "ebaaba68e727233bda99cbb4164bdfa0894f3a1cab90a2cbcaca9d3cadebe8cd"
+ "checksumValue": "cf01946f3a61ba45a08c1e35b223d41d23963e3df5ac98cbad6c8fa5a81070ca"
}
],
- "downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.20.tar.gz",
+ "downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.5.6.tar.gz",
"externalRefs": [
{
"referenceCategory": "SECURITY",
- "referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.20:*:*:*:*:*:*:*",
+ "referenceLocator": "cpe:2.3:a:openssl:openssl:3.5.6:*:*:*:*:*:*:*",
"referenceType": "cpe23Type"
}
],
"licenseConcluded": "NOASSERTION",
"name": "openssl",
"primaryPackagePurpose": "SOURCE",
- "versionInfo": "3.0.20"
+ "versionInfo": "3.5.6"
},
{
"SPDXID": "SPDXRef-PACKAGE-sqlite",
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 97b5105d0ba..20faab60433 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -54,7 +54,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.20
+if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-3.5.6
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
@@ -79,7 +79,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.20
+if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-3.5.6
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.15.0
if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06
if NOT "%IncludeLLVM%"=="false" set binaries=%binaries% llvm-19.1.7.0
diff --git a/PCbuild/python.props b/PCbuild/python.props
index cc4103e99a6..71d982922f8 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -82,8 +82,8 @@
$(libffiDir)$(ArchName)\
$(libffiOutDir)include
$(ExternalsDir)\mpdecimal-4.0.0\
- $(ExternalsDir)openssl-3.0.20\
- $(ExternalsDir)openssl-bin-3.0.20\$(ArchName)\
+ $(ExternalsDir)openssl-3.5.6\
+ $(ExternalsDir)openssl-bin-3.5.6\$(ArchName)\
$(opensslOutDir)include
$(ExternalsDir)\nasm-2.11.06\
$(ExternalsDir)\zlib-1.3.1\
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 0477cdcc367..13ab06a3cf7 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -211,7 +211,7 @@ _lzma
Homepage:
https://tukaani.org/xz/
_ssl
- Python wrapper for version 3.0 of the OpenSSL secure sockets
+ Python wrapper for version 3.5 of the OpenSSL secure sockets
library, which is downloaded from our binaries repository at
https://github.com/python/cpython-bin-deps.