diff --git a/server/package-lock.json b/server/package-lock.json
index 47ee93cae8..8df5b7f249 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -86,7 +86,7 @@
         "@types/bcrypt": "^5.0.0",
         "@types/compression": "^1.7.5",
         "@types/cookie-parser": "^1.4.8",
-        "@types/express": "^4.17.17",
+        "@types/express": "^5.0.0",
         "@types/fluent-ffmpeg": "^2.1.21",
         "@types/js-yaml": "^4.0.9",
         "@types/lodash": "^4.14.197",
@@ -5342,22 +5342,21 @@
       "license": "MIT"
     },
     "node_modules/@types/express": {
-      "version": "4.17.22",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz",
-      "integrity": "sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w==",
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.2.tgz",
+      "integrity": "sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.33",
-        "@types/qs": "*",
+        "@types/express-serve-static-core": "^5.0.0",
         "@types/serve-static": "*"
       }
     },
     "node_modules/@types/express-serve-static-core": {
-      "version": "4.19.6",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
-      "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz",
+      "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
diff --git a/server/package.json b/server/package.json
index 1aeafbf7cf..ffd8876a1c 100644
--- a/server/package.json
+++ b/server/package.json
@@ -112,7 +112,7 @@
     "@types/bcrypt": "^5.0.0",
     "@types/compression": "^1.7.5",
     "@types/cookie-parser": "^1.4.8",
-    "@types/express": "^4.17.17",
+    "@types/express": "^5.0.0",
     "@types/fluent-ffmpeg": "^2.1.21",
     "@types/js-yaml": "^4.0.9",
     "@types/lodash": "^4.14.197",
diff --git a/server/src/middleware/file-upload.interceptor.ts b/server/src/middleware/file-upload.interceptor.ts
index 6f6d9aaf43..b6f37dbbd2 100644
--- a/server/src/middleware/file-upload.interceptor.ts
+++ b/server/src/middleware/file-upload.interceptor.ts
@@ -88,7 +88,8 @@ export class FileUploadInterceptor implements NestInterceptor {
     if (handler) {
       await new Promise<void>((resolve, reject) => {
         const next: NextFunction = (error) => (error ? reject(transformException(error)) : resolve());
-        handler(context_.getRequest(), context_.getResponse(), next);
+        const maybePromise = handler(context_.getRequest(), context_.getResponse(), next);
+        Promise.resolve(maybePromise).catch((error) => reject(error));
       });
     } else {
       this.logger.warn(`Skipping invalid file upload route: ${route}`);