← All security rules
highINJ004· Injection

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. 1. Open the reported line. Confirm the match is active application code rather than a fixture, example, or false positive.
  2. 2. Apply the remediation in context. Preserve the intended behavior while removing the dangerous pattern.
  3. 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.

Related injection checks

Check a public repository now

Run this rule together with the complete CodeCordon rule set. No account is required for a public-repository preview.

No account required. Public repositories only. Preview links expire after 24 hours.