Skip to content

fix(serve): validate config_path from env var (CodeQL path traversal)#32

Merged
flupkede merged 1 commit into
developfrom
fix/codeql-path-validation
May 1, 2026
Merged

fix(serve): validate config_path from env var (CodeQL path traversal)#32
flupkede merged 1 commit into
developfrom
fix/codeql-path-validation

Conversation

@flupkede
Copy link
Copy Markdown
Owner

@flupkede flupkede commented May 1, 2026

Summary

  • Validate CODESEARCH_REPOS_CONFIG env-var override has .json extension before accepting it (fail-fast)
  • Canonicalize config_path in reload_if_changed() before filesystem ops to resolve symlinks and .. components
  • Fixes CodeQL alert: "Uncontrolled data used in path expression" on src/serve/mod.rs

Test plan

  • cargo check
  • cargo clippy -D warnings
  • cargo test --lib — 363 passed ✅

CODESEARCH_REPOS_CONFIG env var was used directly as a filesystem path
without validation or canonicalization. CodeQL flagged this as
'Uncontrolled data used in path expression'.

- repos.rs: validate env-var override has .json extension (fail-fast)
- serve/mod.rs: canonicalize config_path before fs::metadata/load_from
  to resolve symlinks and normalize .. components

Fixes: CodeQL alert on src/serve/mod.rs reload_if_changed()
@flupkede flupkede merged commit 7f66961 into develop May 1, 2026
2 checks passed
@flupkede flupkede deleted the fix/codeql-path-validation branch May 1, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant