Filesystem path built from request input
A file path is constructed from request parameters (req.params/query/body or route params) and passed to filesystem APIs. Attackers can use ../ sequences to read or write files outside the intended directory.
What the check contributes
Rule INJ004runs as part of CodeCordon's deterministic static-analysis pass. When it matches, the finding includes the source file, line number, severity, explanation, and a redacted snippet so the developer can inspect the evidence directly.
Recommended remediation
Resolve the path with path.join against a fixed base directory, then verify the result still starts with that base (after path.resolve). Better: map user input to an allowlist of known filenames or IDs.
How to use this result
- 1. Open the reported line. Confirm the match is active application code rather than a fixture, example, or false positive.
- 2. Apply the remediation in context. Preserve the intended behavior while removing the dangerous pattern.
- 3. Scan again. Verify the known pattern no longer appears, then continue with tests and any runtime or human security review appropriate to the application.
Limits of this check
A match is a review signal, not proof of exploitability. No match means only that this specific known pattern was not found in the applicable files. It does not rule out equivalent code, business-logic flaws, runtime vulnerabilities, or novel attack paths.