-
-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multipartMiddleware preceeds securityMiddleware so files begin uploading before security check #865
multipartMiddleware preceeds securityMiddleware so files begin uploading before security check #865
Comments
PR is welcome. The updated order makes sense. |
- Move multipart middleware after security middleware so that security handlers can abort request pipeline before uploads are processed. Fixes cdimascio#865
@cdimascio - I don't mean to be bothersome, but I'm hoping you could advise whether the timeline is days, weeks, or longer before a new release is prepared with a fix for this issue (PR #866). If you don't expect to have time for code review + release in the near future, I'll need to fork and temporarily point |
- Move multipart middleware after security middleware so that security handlers can abort request pipeline before uploads are processed. Fixes cdimascio#865
- Move multipart middleware after security middleware so that security handlers can abort request pipeline before uploads are processed. Fixes cdimascio#865 Co-authored-by: Matt Mower <[email protected]>
- Move multipart middleware after security middleware so that security handlers can abort request pipeline before uploads are processed. Fixes #865
available in v5.1.0 |
Describe the bug
When
OpenApiValidator.middleware()
is configured to apply both upload and security middleware...... the upload middleware (
multipartMiddleware
) runs before the security middleware (securityMiddleware
). As a result, file uploads begin even for users that fail the security check.The order of the middlewares is defined here:
express-openapi-validator/src/openapi.validator.ts
Lines 152 to 179 in bb8d6b8
To Reproduce
OpenApiValidator.middleware
with both afileUploader.storage
storage engine and avalidateSecurity
handler.validateSecurity
handler.Actual behavior
File upload will be processed. For example, if the multer storage engine is a disk storage engine, the file is written to disk.
Expected behavior
The security check should abort the request pipeline before the file upload is processed.
Examples and context
I've tested reversing the order of the above mentioned middleware locally by editing
node_modules/express-openapi-validator/dist/openapi.validator.js
and the security check works as expected (file upload does not begin). I am willing to create a PR for this change, but am unsure whether there's a reason for the current order (maybe the security check for some users depends on form data?). If so, perhaps the order could be configurable?The text was updated successfully, but these errors were encountered: