diff --git a/homeassistant/components/doods/manifest.json b/homeassistant/components/doods/manifest.json
index 6a198ab34e7c1d6a7556ccc4d79253740610e517..fabb2c301904e635a7fb59e8596d2f00f76aa370 100644
--- a/homeassistant/components/doods/manifest.json
+++ b/homeassistant/components/doods/manifest.json
@@ -5,5 +5,5 @@
   "documentation": "https://www.home-assistant.io/integrations/doods",
   "iot_class": "local_polling",
   "loggers": ["pydoods"],
-  "requirements": ["pydoods==1.0.2", "Pillow==10.3.0"]
+  "requirements": ["pydoods==1.0.2", "Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/generic/manifest.json b/homeassistant/components/generic/manifest.json
index 34f8025737fa63b6001d42e836eade357d400def..b19d6d6293ec5fce81f53640b8ca7f584b0b9d16 100644
--- a/homeassistant/components/generic/manifest.json
+++ b/homeassistant/components/generic/manifest.json
@@ -7,5 +7,5 @@
   "documentation": "https://www.home-assistant.io/integrations/generic",
   "integration_type": "device",
   "iot_class": "local_push",
-  "requirements": ["ha-av==10.1.1", "Pillow==10.3.0"]
+  "requirements": ["ha-av==10.1.1", "Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/image_upload/manifest.json b/homeassistant/components/image_upload/manifest.json
index 7cbc484b830ddc13eb172a269aed99c16c385df5..963721a04761231c5049a3ec5fece5410ac91f94 100644
--- a/homeassistant/components/image_upload/manifest.json
+++ b/homeassistant/components/image_upload/manifest.json
@@ -7,5 +7,5 @@
   "documentation": "https://www.home-assistant.io/integrations/image_upload",
   "integration_type": "system",
   "quality_scale": "internal",
-  "requirements": ["Pillow==10.3.0"]
+  "requirements": ["Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/matrix/manifest.json b/homeassistant/components/matrix/manifest.json
index 2ea310aa5a67616fa66b682bcaa76d30510a9cc4..7e854a854348a6bca1bed092007b50c099952e91 100644
--- a/homeassistant/components/matrix/manifest.json
+++ b/homeassistant/components/matrix/manifest.json
@@ -5,5 +5,5 @@
   "documentation": "https://www.home-assistant.io/integrations/matrix",
   "iot_class": "cloud_push",
   "loggers": ["matrix_client"],
-  "requirements": ["matrix-nio==0.24.0", "Pillow==10.3.0"]
+  "requirements": ["matrix-nio==0.24.0", "Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/proxy/manifest.json b/homeassistant/components/proxy/manifest.json
index 42770d71792cd6e6081e41307d5c4227d07e48b8..1e70c4d3e103f64f61c4746c77614d47230baef0 100644
--- a/homeassistant/components/proxy/manifest.json
+++ b/homeassistant/components/proxy/manifest.json
@@ -3,5 +3,5 @@
   "name": "Camera Proxy",
   "codeowners": [],
   "documentation": "https://www.home-assistant.io/integrations/proxy",
-  "requirements": ["Pillow==10.3.0"]
+  "requirements": ["Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/qrcode/manifest.json b/homeassistant/components/qrcode/manifest.json
index 476f4e8c3c9be3210ab600123bad35fd560a8cc7..14f2d093f379471b495746692145c10b8943f08f 100644
--- a/homeassistant/components/qrcode/manifest.json
+++ b/homeassistant/components/qrcode/manifest.json
@@ -5,5 +5,5 @@
   "documentation": "https://www.home-assistant.io/integrations/qrcode",
   "iot_class": "calculated",
   "loggers": ["pyzbar"],
-  "requirements": ["Pillow==10.3.0", "pyzbar==0.1.7"]
+  "requirements": ["Pillow==10.4.0", "pyzbar==0.1.7"]
 }
diff --git a/homeassistant/components/seven_segments/manifest.json b/homeassistant/components/seven_segments/manifest.json
index 5e05f496d1d63499161c0acff46f0d3ec92599d7..2f39644d6d31f7a7c9c6f2cc225240db55b5ae53 100644
--- a/homeassistant/components/seven_segments/manifest.json
+++ b/homeassistant/components/seven_segments/manifest.json
@@ -4,5 +4,5 @@
   "codeowners": ["@fabaff"],
   "documentation": "https://www.home-assistant.io/integrations/seven_segments",
   "iot_class": "local_polling",
-  "requirements": ["Pillow==10.3.0"]
+  "requirements": ["Pillow==10.4.0"]
 }
diff --git a/homeassistant/components/sighthound/manifest.json b/homeassistant/components/sighthound/manifest.json
index b97ccc5f9cf9443c175b3ea170eafc5169024463..875c98acb6dbb892f42d12f00daa3f3c0a35e14f 100644
--- a/homeassistant/components/sighthound/manifest.json
+++ b/homeassistant/components/sighthound/manifest.json
@@ -5,5 +5,5 @@
   "documentation": "https://www.home-assistant.io/integrations/sighthound",
   "iot_class": "cloud_polling",
   "loggers": ["simplehound"],
-  "requirements": ["Pillow==10.3.0", "simplehound==0.3"]
+  "requirements": ["Pillow==10.4.0", "simplehound==0.3"]
 }
diff --git a/homeassistant/components/tensorflow/manifest.json b/homeassistant/components/tensorflow/manifest.json
index 40dbadca64dedde9534223a37e0ddfbdecffbbc1..941ec130db203dd4f9451fc09d9a3474f1355d21 100644
--- a/homeassistant/components/tensorflow/manifest.json
+++ b/homeassistant/components/tensorflow/manifest.json
@@ -10,6 +10,6 @@
     "tf-models-official==2.5.0",
     "pycocotools==2.0.6",
     "numpy==1.26.0",
-    "Pillow==10.3.0"
+    "Pillow==10.4.0"
   ]
 }
diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt
index 16d72eb03d34ce29be6573aa4b0b983586766dda..3b977869294c2ac680645b5fbd0ecaa585896274 100644
--- a/homeassistant/package_constraints.txt
+++ b/homeassistant/package_constraints.txt
@@ -42,7 +42,7 @@ mutagen==1.47.0
 orjson==3.10.6
 packaging>=23.1
 paho-mqtt==1.6.1
-Pillow==10.3.0
+Pillow==10.4.0
 pip>=21.3.1
 psutil-home-assistant==0.0.1
 PyJWT==2.8.0
diff --git a/pyproject.toml b/pyproject.toml
index 6d3bdcab7e6416d55cde72d1969d8f04feae651d..0ec5f782bc2e473b21f82c08866c2f4561df7e64 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -51,7 +51,7 @@ dependencies    = [
     "PyJWT==2.8.0",
     # PyJWT has loose dependency. We want the latest one.
     "cryptography==42.0.8",
-    "Pillow==10.3.0",
+    "Pillow==10.4.0",
     "pyOpenSSL==24.1.0",
     "orjson==3.10.6",
     "packaging>=23.1",
diff --git a/requirements.txt b/requirements.txt
index d2bae8096cd2527b912802988b8035cd2ef5e1cb..6f9bdbb3f10380712192cf54477ff813bb190f8b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -26,7 +26,7 @@ Jinja2==3.1.4
 lru-dict==1.3.0
 PyJWT==2.8.0
 cryptography==42.0.8
-Pillow==10.3.0
+Pillow==10.4.0
 pyOpenSSL==24.1.0
 orjson==3.10.6
 packaging>=23.1
diff --git a/requirements_all.txt b/requirements_all.txt
index 59d5fac33618687e173ec6be834d8912b167763a..7138997879f8cbdd493f01b5f01b260be03ac7e0 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -33,7 +33,7 @@ Mastodon.py==1.8.1
 # homeassistant.components.seven_segments
 # homeassistant.components.sighthound
 # homeassistant.components.tensorflow
-Pillow==10.3.0
+Pillow==10.4.0
 
 # homeassistant.components.plex
 PlexAPI==4.15.14
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index 1f390190f5ea4f09558c87513c2c3b81a9a000d9..43b43b1ec2578fe7c33ef206bfcaa55b28904a77 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -30,7 +30,7 @@ HATasmota==0.9.2
 # homeassistant.components.seven_segments
 # homeassistant.components.sighthound
 # homeassistant.components.tensorflow
-Pillow==10.3.0
+Pillow==10.4.0
 
 # homeassistant.components.plex
 PlexAPI==4.15.14