Skip to content

fix: security audit — shell injection, temp files, license, Dockerfile#49

Merged
riley0227 merged 2 commits intomainfrom
security/audit-fixes
Mar 22, 2026
Merged

fix: security audit — shell injection, temp files, license, Dockerfile#49
riley0227 merged 2 commits intomainfrom
security/audit-fixes

Conversation

@riley0227
Copy link
Copy Markdown
Contributor

Summary

Security hardening based on full repo audit.

Changes

  • Shell injection fix: Replaced all execSync template literals with execFileSync array args in docker.ts and upgrade.ts
  • Temp file fix: Use mktemp/mkdtempSync instead of predictable /tmp paths in install.sh and upgrade.ts
  • License fix: Homebrew formula said MIT but LICENSE file is Apache 2.0 — fixed to Apache-2.0
  • Dockerfile: Container now runs as non-root user
  • SECURITY.md: Documents ArangoDB auth requirements, install script risks, and vulnerability reporting

Test plan

  • ix docker start / ix docker stop still work
  • ix upgrade --check works
  • curl ... | bash install still works
  • Docker image builds and starts correctly with non-root user

- Replace all execSync template literals with execFileSync array args
  in docker.ts and upgrade.ts to prevent shell injection
- Use mktemp/mkdtempSync for temp files instead of predictable /tmp paths
- Fix license in homebrew formula: MIT -> Apache-2.0 (matches LICENSE file)
- Add non-root USER to Dockerfile
- Add SECURITY.md documenting ArangoDB auth, install risks, and reporting
@riley0227 riley0227 enabled auto-merge (squash) March 22, 2026 23:29
@riley0227 riley0227 disabled auto-merge March 22, 2026 23:33
@riley0227 riley0227 merged commit f962487 into main Mar 22, 2026
3 checks passed
@riley0227 riley0227 deleted the security/audit-fixes branch March 24, 2026 03:52
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