fix(request): handle "double dots" in URL #124
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #123
Since v1.3.0, we use our own Request object. This is great, but the
url
behavior is unexpected.In the standard API, if the URL contains
..
, here called "double dots", the URL string returned by Request will be in the resolved path.However, our
url
as implemented below does not resolve double dots, sohttp://localhost/static/.. /foo.txt
is returned.node-server/src/request.ts
Lines 43 to 45 in 8cea466
This causes vulnerabilities like #123 when using
serveStatic
.So this must be fixed immediately. This PR solves that. The path will be checked on every request, which may have a performance impact but must be allowed for.