Commit Graph

3 Commits

Author SHA1 Message Date
Varun Chawla
d29f0228a8
refactor: use PurePosixPath for path traversal validation per review feedback 2026-03-17 22:19:08 -07:00
Varun Chawla
95c511e167
security: handle Windows backslash path traversal in filename validation
Normalize backslashes to forward slashes before checking for path
traversal patterns, preventing attacks like `folder\..\secret` that
bypass forward-slash-only checks on Windows. Addresses review feedback
from light-and-ray on PR #12353.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 22:18:30 -07:00
Varun Chawla
64e1c0a0a6
security: refine path traversal validation to allow consecutive dots in filenames
Fixes #12352

The previous validation incorrectly rejected filenames with consecutive dots
(e.g., test..png) by checking if '..' exists anywhere in the filename.

This commit refines the validation to:
- Block actual path traversal patterns: '../', '/..'
- Block filenames starting with '..' (e.g., '..secret')
- Block absolute paths starting with '/'
- Allow consecutive dots in filenames (e.g., 'test..png', 'my...file.jpg')

Changes:
- Updated validation logic in /view and /upload/mask endpoints
- Added comprehensive test suite covering both security and functionality
- All tests pass: blocks path traversal, allows valid filenames with dots
2026-03-17 22:18:02 -07:00