Highlights
Auth Bypass: 2 prior fixes. Scrutinize any change in this area.
robyn/router.py: most-fixed (1 issue). Treat as high-risk during review.
3 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Auth Bypass: Nested subrouters failed to inherit the authentication handlers configured on parent routers, allowing unauthenticated requests to reach protected subrouter endpoints. Ensure `self.dependencies.merge_dependencies` correctly propagates parent security handlers.
Auth Bypass: Inconsistent path normalization, particularly regarding trailing slashes, allowed attackers to bypass routing-layer middleware checks on registered endpoints. Canonicalization using `_normalize_endpoint` must be consistently applied.
Reflected XSS: The Jinja2 environment default configuration did not enable autoescaping, exposing applications to template injection and XSS. Default environments must enforce strict autoescape configurations based on file extensions.