diff --git a/.dotnet9.0.metadata b/.dotnet9.0.metadata
index 694ea00..0fd1ab1 100644
--- a/.dotnet9.0.metadata
+++ b/.dotnet9.0.metadata
@@ -1 +1 @@
-7e42adea7415cdcea15fcd8a046177ab7c618923 SOURCES/dotnet-9.0.5.tar.gz
+8bf1d9c457bb428dde84780de4f9bf12e13d2c3e SOURCES/dotnet-9.0.5.tar.gz
diff --git a/SOURCES/dotnet-9.0.5.tar.gz.sig b/SOURCES/dotnet-9.0.5.tar.gz.sig
new file mode 100644
index 0000000..f6ead52
--- /dev/null
+++ b/SOURCES/dotnet-9.0.5.tar.gz.sig
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BSN Pgp v1.0.0.0
+
+iQIcBAABCAAGBQJoE8E7AAoJEP2/U8JNtIcuvcEP/Ra3QUkDDiG0YzdTP8pPTRo4
+7jc+kj0qxCsXzNigWhaPXDZa6U59lZgcYFIem/A9/7qryCYiMq2QA+w2zMcp4WtJ
+XmKjCcoiA0nHJjsiT97p7XuvTI9tVbXXI7fPGkP49NLsEVg5f2DTduRcIxvQEdWL
+AE+L88hxRwuiQrkiX5TDhhUbV833DULhfvHYvvEjHLIA+Dhrjb0eNj5FJBe+3DUB
+0e1YLXfeVpWBTkZXqeWsZ9ZewFybvhepZxOZg9nkEZG0KXnuA3p0SXDlwHC3P9+R
+LHj0xpBASL6VwG3aoiIjhMnpKcm4G0sFPzhU2C9jXJQGaUDcwf5HLKOrOqUUBpeT
+c7reS7Rigww8TJNf2oQXbPr88Y4Hj2nbRHOiq1/K/zctpwvDUgfM1s+xeAR3d2BI
+hBrSUaasjR5iALAvMjHwebZCahpPhCFLZKE2fp065L2+hQ1ENMeZhWgwT9xtJXTb
+jkKLTt6hpS2dCLbNJa7zuR80CGgVW9WAve9u2WQJ0v0H6hlr/KMutHsmApQFdRiK
+OmbmWq88M24Jh1rlhMTFJORRIkvNPsKL5nUhJjvCkrAnjlpfJqDVQZ84dwmFgH+G
+8Yz8EzokUoOp40cerelRa3oBYt2ROBkyeC5vx1hR8S6Dhy74CIzd4l7uLbdnKPXy
+ni70S7e7apsdntBMulw+
+=mwxY
+-----END PGP SIGNATURE-----
diff --git a/SOURCES/dotnet.sh.in b/SOURCES/dotnet.sh.in
new file mode 100644
index 0000000..65b92a0
--- /dev/null
+++ b/SOURCES/dotnet.sh.in
@@ -0,0 +1,14 @@
+
+# Set location for AppHost lookup
+[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT=@LIBDIR@/dotnet
+
+# Add dotnet tools directory to PATH
+DOTNET_TOOLS_PATH="$HOME/.dotnet/tools"
+case "$PATH" in
+ *"$DOTNET_TOOLS_PATH"* ) true ;;
+ * ) PATH="$PATH:$DOTNET_TOOLS_PATH" ;;
+esac
+
+# Extract self-contained executables under HOME
+# to avoid multi-user issues from using the default '/var/tmp'.
+[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"$HOME"/.cache}/dotnet_bundle_extract"
diff --git a/SOURCES/release-key-2023.asc b/SOURCES/release-key-2023.asc
new file mode 100644
index 0000000..96844b6
--- /dev/null
+++ b/SOURCES/release-key-2023.asc
@@ -0,0 +1,29 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: BSN Pgp v1.1.0.0
+
+mQINBGUKsUYBEADVCJm4EhXALr1ld42kWeh/vM0XMZ2orNT6NRLDRYjpE4mm4UqA
+vpjfGCwt5fLcrT4yZng8ABkB3QwTsZzmxesAMD5AZR/gdU1G96DuDGsjp6zJvTuX
+zvz3PXUYfcl9n5X32acA6N9J5Xfp10xqX3oitUODBdYy/vKW/v/y87ZxgaR6a3wp
+pPJBJIVKwFJx13v4BHRsGp1fepliQcXPvmNKFNI20le5+FbLq6C9hY5wcwGHGfQr
+EokH79GsmqgSImqxDOIh06J5VfWA+JwV+3vf95pD8IUrRfGQ+GK7b1/bySxtM5Qa
+b/IDgvl/Qq3AzEpGarMBaqGbqMz1C7jd8Y6nyKMP/V+OCjbEdYNM8GRz6kBP3Un+
+Frat5Lc2o4DF+zB3PKIJS3hku5gwlJu6IU1F23vmYFtjUcpRGmyQZDoWyBbOWlB5
+4SXqVu16amUsRFYmOK8BJMjdotcVbriVIv6WRmugfhIMoRJzVGxYkdbuiuMAX69V
+xDoGpxX5A8S5A79y0USUVtadQfFavMTyb/gUuUe8oDsqK9gdI3ETxLYG4gYwauVX
+fCGfoLOKsq5dPzEuEA7GCRrMau+rHKFaM7BigSdnHFW7xNZ4v0YnXAagoqM2G5o5
+9sak0l57vxxTVk2V3iZzkoU2J2Zlyxyh72n5vjRmb7aNwmQh4Eav6a8ssQARAQAB
+tBlvbm54Y29yZWRldkBtaWNyb3NvZnQuY29tiQI4BBMBCAAiBQJlCrFGAhsDBgsJ
+CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD9v1PCTbSHLtfzEADIKq15XDeQxLSo
+BG1aFa9n82K1YADVcu1LeddfhDmQWLnZNgyHtQlKN2n59282CXtgymzae3uc05s2
+feIJaqF4M4NnCX8Ct3K7Hq1jI7ZktlquPCCy9XHq9aQY8XTxmdtRevtclKgYTwDh
+w+D/KbE8vTZ6o7JoubA3MKf4k3S8qL/0rIyaC6h0EpiWoMy1TdNMMK7BT4kl6Vz4
+W6KmNgOux1Pzku5ULM4WuOzmwW+NAzpOLJowfDs1ZC2RM3+g9i1/DmwWtCHngvGD
++clA0I0agXxo05toOBTfwxd2gWYczuo/Ole16fYTzqT6n0DHqOjjcc9A7EmC72fQ
+J+hHAqM+4+CbEGuMpNnTMpCZs98bcK3Rqx/bDJYtbclZzm5O/V4nVbDrJZKzpgA1
+KuzNMLkr62P6/t15UsStgmrlTILmE5NG0CR1mj/46+mNbsMZCel3dcvnT1Zf4rTq
+QxMC7Dd/DECKQVC339G/BRfNyhOk2S1mZR/g1uS4bznL+tiwudDh/TAi5C3ZBDMh
+0muwD9caXS/QFIBWtb2ai3IcpU357R/ERPKLcWYtoYJ80RuKi6XYr1WxSPBmd5Qm
+wuncye+wR2dveo2jnIXZGUSgz50ZNgBxs/cYWAQ8J6KMgIBa+JY2qalzvIGbrC5x
+Sr+CkhS8vrktfnRgc8yBssJnvNfqXA==
+=pKgS
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/SOURCES/release.json b/SOURCES/release.json
new file mode 100644
index 0000000..8403da4
--- /dev/null
+++ b/SOURCES/release.json
@@ -0,0 +1,10 @@
+{
+ "release": "9.0.5",
+ "channel": "9.0",
+ "tag": "v9.0.5",
+ "sdkVersion": "9.0.106",
+ "runtimeVersion": "9.0.5",
+ "aspNetCoreVersion": "9.0.5",
+ "sourceRepository": "https://github.com/dotnet/dotnet",
+ "sourceVersion": "3d441471e6d6513e40022042a13b536bebff0590"
+}
diff --git a/SOURCES/roslyn-analyzers-ppc64le-apphost.patch b/SOURCES/roslyn-analyzers-ppc64le-apphost.patch
new file mode 100644
index 0000000..4dd465c
--- /dev/null
+++ b/SOURCES/roslyn-analyzers-ppc64le-apphost.patch
@@ -0,0 +1,12 @@
+diff --git a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
+index 044a2aba4..b3f8f2611 100644
+--- a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
++++ b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
+@@ -4,6 +4,7 @@
+ preview
+ disable
+ Exe
++ false
+
+
+ true
diff --git a/SOURCES/runtime-disable-fortify-on-ilasm-parser.patch b/SOURCES/runtime-disable-fortify-on-ilasm-parser.patch
new file mode 100644
index 0000000..a128222
--- /dev/null
+++ b/SOURCES/runtime-disable-fortify-on-ilasm-parser.patch
@@ -0,0 +1,12 @@
+diff --git dotnet/src/runtime/src/coreclr/ilasm/CMakeLists.txt dotnet/src/runtime/src/coreclr/ilasm/CMakeLists.txt
+index cca2c6da185..d31e6cb2070 100644
+--- dotnet/src/runtime/src/coreclr/ilasm/CMakeLists.txt
++++ dotnet/src/runtime/src/coreclr/ilasm/CMakeLists.txt
+@@ -52,6 +52,7 @@ if(CLR_CMAKE_HOST_UNIX)
+ add_compile_options(-Wno-array-bounds)
+ add_compile_options(-Wno-unused-label)
+ set_source_files_properties( prebuilt/asmparse.cpp PROPERTIES COMPILE_FLAGS "-O0" )
++ set_source_files_properties( prebuilt/asmparse.cpp PROPERTIES COMPILE_FLAGS "-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=0" )
+ endif(CLR_CMAKE_HOST_UNIX)
+
+ if(CLR_CMAKE_HOST_LINUX OR CLR_CMAKE_HOST_FREEBSD OR CLR_CMAKE_HOST_NETBSD OR CLR_CMAKE_HOST_SUNOS OR CLR_CMAKE_HOST_HAIKU)
diff --git a/SOURCES/runtime-openssl-sha1.patch b/SOURCES/runtime-openssl-sha1.patch
new file mode 100644
index 0000000..6e307ef
--- /dev/null
+++ b/SOURCES/runtime-openssl-sha1.patch
@@ -0,0 +1,34 @@
+From d7805229ffe6906cd0832c0482b963caf4b4fd82 Mon Sep 17 00:00:00 2001
+From: Tom Deseyn
+Date: Wed, 28 Feb 2024 14:08:15 +0100
+Subject: [PATCH] Allow certificate validation with SHA-1 signatures.
+
+RHEL OpenSSL builds disable SHA-1 signatures. This causes certificate
+validation to fail when using the X509_V_FLAG_CHECK_SS_SIGNATURE flag
+with a chain where the last certificate uses a SHA-1 signature.
+
+This removes X509_V_FLAG_CHECK_SS_SIGNATURE flag to have the default
+OpenSSL behavior for certificate validation.
+---
+ .../libs/System.Security.Cryptography.Native/pal_x509.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/runtime/src/native/libs/System.Security.Cryptography.Native/pal_x509.c b/src/runtime/src/native/libs/System.Security.Cryptography.Native/pal_x509.c
+index 04c6ba06cd..2cd3413dae 100644
+--- a/src/runtime/src/native/libs/System.Security.Cryptography.Native/pal_x509.c
++++ b/src/runtime/src/native/libs/System.Security.Cryptography.Native/pal_x509.c
+@@ -272,11 +272,6 @@ int32_t CryptoNative_X509StoreCtxInit(X509_STORE_CTX* ctx, X509_STORE* store, X5
+
+ int32_t val = X509_STORE_CTX_init(ctx, store, x509, extraStore);
+
+- if (val != 0)
+- {
+- X509_STORE_CTX_set_flags(ctx, X509_V_FLAG_CHECK_SS_SIGNATURE);
+- }
+-
+ return val;
+ }
+
+--
+2.43.2
+
diff --git a/SOURCES/runtime-re-enable-implicit-rejection.patch b/SOURCES/runtime-re-enable-implicit-rejection.patch
new file mode 100644
index 0000000..a2e5614
--- /dev/null
+++ b/SOURCES/runtime-re-enable-implicit-rejection.patch
@@ -0,0 +1,142 @@
+From 5fdc289903bd3a77d455583650b00297da0cae8f Mon Sep 17 00:00:00 2001
+From: Omair Majid
+Date: Fri, 2 Feb 2024 15:51:23 -0500
+Subject: [PATCH] Revert "Disable implicit rejection for RSA PKCS#1 (#95216)"
+
+This reverts commit a5fc8ff9b03ffb2fdb81dad524ad1a20a0714995.
+
+To quote Clemens Lang:
+
+> [Disabling implcit rejection] re-enables a Bleichenbacher timing oracle
+> attack against PKCS#1v1.5 decryption. See
+> https://people.redhat.com/~hkario/marvin/ for details and
+> https://github.com/dotnet/runtime/pull/95157#issuecomment-1842784399 for a
+> comment by the researcher who published the vulnerability and proposed the
+> change in OpenSSL.
+
+For more details, see:
+https://github.com/dotnet/runtime/pull/95216#issuecomment-1842799314
+---
+ .../RSA/EncryptDecrypt.cs | 49 ++++---------------
+ .../opensslshim.h | 6 ---
+ .../pal_evp_pkey_rsa.c | 13 -----
+ 3 files changed, 10 insertions(+), 58 deletions(-)
+
+diff --git a/src/runtime/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs b/src/runtime/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs
+index 39f3ebc82ec..5b97f468a42 100644
+--- a/src/runtime/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs
++++ b/src/runtime/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs
+@@ -353,10 +353,19 @@ private void RsaCryptRoundtrip(RSAEncryptionPadding paddingMode, bool expectSucc
+ Assert.Equal(TestData.HelloBytes, output);
+ }
+
+- [ConditionalFact(nameof(PlatformSupportsEmptyRSAEncryption))]
++ [ConditionalFact]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
+ public void RoundtripEmptyArray()
+ {
++ if (OperatingSystem.IsIOS() && !OperatingSystem.IsIOSVersionAtLeast(13, 6))
++ {
++ throw new SkipTestException("iOS prior to 13.6 does not reliably support RSA encryption of empty data.");
++ }
++ if (OperatingSystem.IsTvOS() && !OperatingSystem.IsTvOSVersionAtLeast(14, 0))
++ {
++ throw new SkipTestException("tvOS prior to 14.0 does not reliably support RSA encryption of empty data.");
++ }
++
+ using (RSA rsa = RSAFactory.Create(TestData.RSA2048Params))
+ {
+ void RoundtripEmpty(RSAEncryptionPadding paddingMode)
+@@ -757,23 +746,5 @@ public static IEnumerable