Highlights
Stored XSS: 18 prior fixes. Scrutinize any change in this area.
web/reNgine/tasks.py: most-fixed (14 issues). Treat as high-risk during review.
27 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.
Command Injection: The scan runner relies heavily on external shell tools. Safe wrapper delegation and moving away from shell execution (using subprocess.Popen with split argument lists instead of os.system) are critical to prevent arbitrary command execution via malicious scan targets or custom tool configurations.
Stored XSS: Unescaped rendering of dynamic scan outputs, imported targets, and vulnerability descriptions directly into HTML templates and custom dashboard modals leads to persistent code execution in the context of authenticated admin sessions. All DOM insertions must be HTML-encoded.
Auth Bypass: API views historically lacked unified permission decorators, allowing unauthorized role execution or cross-project data access. Applying strict Django Rest Framework permission classes and project-level query-parameter scoping filters is essential.