diff --git a/changelog/4417.security.md b/changelog/4417.security.md new file mode 100644 index 000000000..a51c369df --- /dev/null +++ b/changelog/4417.security.md @@ -0,0 +1 @@ +- Fixed a path traversal issue in the development runner's `/files/{filename:path}` download endpoint. Previously, when the runner was started with `--folder`, a request like `/files/..%2F..%2Fetc%2Fpasswd` could escape the configured folder because `%2F`-encoded separators bypassed Starlette's path normalisation. The endpoint now resolves the joined path and rejects any filename that escapes the allowed base with a 403, and also returns 404 (instead of an implicit `null` 200) when `--folder` is unset.