Repository navigation
fix(security): harden files on the host, packaging and CI - #278
Open
SteveGilvarry wants to merge 1 commit into
Open
SteveGilvarry wants to merge 1 commit into
SteveGilvarry wants to merge 1 commit into
Conversation
Host: - HLS segments were written under `/tmp/hls` at 0755. Any local user could read live video, or create the path first as a symlink and choose where segments went. The directory is now 0700 and a symlink or another user's directory is refused. - `/tmp/mysql.sock` was picked automatically when no standard socket existed, so a local user could stand in for the database. It now has to be named in `db.socket`. - Startup warns when a signing key is readable by other users. - `prod.toml` and `zm-api.env` were installed 0644; setup-instance.sh makes them 0640 root:<service group>. - generate-jwt-keys.sh left the private key world-readable until its chmod. deploy-dev.sh uploaded to a fixed name in /tmp and installed it as root. The test databases were published on every interface. CI: - The release .deb was built without `--locked`. - Workflow tokens are read-only except in the jobs that publish. - The two third-party actions that run with a write token are pinned to commits. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Host:
/tmp/hlsat 0755. Any local usercould read live video, or create the path first as a symlink and choose
where segments went. The directory is now 0700 and a symlink or
another user's directory is refused.
/tmp/mysql.sockwas picked automatically when no standard socketexisted, so a local user could stand in for the database. It now has to
be named in
db.socket.prod.tomlandzm-api.envwere installed 0644; setup-instance.shmakes them 0640 root:.
chmod. deploy-dev.sh uploaded to a fixed name in /tmp and installed it
as root. The test databases were published on every interface.
CI:
--locked.commits.
Notes for review
/tmp/mysql.sockmust setdb.socket, and an HLS storage path that is a symlink is refused.🤖 Generated with Claude Code