diff --git a/packages/py-tensorflow/package.py b/packages/py-tensorflow/package.py
index 5e4207fbf8efd213e7276aa616a1acbe95cba9c7..436a1ea575bbbcb26571198ec178890184a08b13 100644
--- a/packages/py-tensorflow/package.py
+++ b/packages/py-tensorflow/package.py
@@ -375,6 +375,7 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
     # depends_on('trisycl',    when='+opencl~computepp')
     with when("+cuda"):
         # https://www.tensorflow.org/install/source#gpu
+        depends_on("cuda@12.5:", when="@2.18:")
         depends_on("cuda@12.3:", when="@2.16:")
         depends_on("cuda@12.2:", when="@2.15:")
         depends_on("cuda@11.8:", when="@2.12:")
@@ -386,12 +387,13 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
         depends_on("cuda@:11.4", when="@2.4:2.7")
         depends_on("cuda@:10.2", when="@:2.3")
 
-        depends_on("cudnn@8.9:8", when="@2.15:")
-        depends_on("cudnn@8.7:8", when="@2.14:")
-        depends_on("cudnn@8.6:8", when="@2.12:")
-        depends_on("cudnn@8.1:8", when="@2.5:")
-        depends_on("cudnn@8.0:8", when="@2.4:")
-        depends_on("cudnn@7.6:8", when="@2.1:")
+        depends_on("cudnn@9.3:9", when="@2.18:")
+        depends_on("cudnn@8.9:8", when="@2.15:2.17")
+        depends_on("cudnn@8.7:8", when="@2.14:2.16")
+        depends_on("cudnn@8.6:8", when="@2.12:2.13")
+        depends_on("cudnn@8.1:8", when="@2.5:2.11")
+        depends_on("cudnn@8.0:8", when="@2.4")
+        depends_on("cudnn@7.6:8", when="@2.1:2.3")
 
         depends_on("cudnn@:7", when="@:2.2")
     # depends_on('tensorrt', when='+tensorrt')