myxce/.wolf/bugs/bug-1869.md
Rongsong Shen 25d8a461fa
chore: gitea-sync refreshes 23 recent bug issues to the record format
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 03:44:30 +00:00

43 lines
1.6 KiB
Markdown

---
id: "bug-1869"
status: "fixed"
status_updated: "2026-09-26"
status_note: "5df33e69: xcecd_open_owned_file()/xcecd_owned_file_exists() (xcecd_tmpfile.h) for the worker log, xcecd_worker.log and restart flag; fchmod instead of chmod(path)."
component: "worker"
severity: "security"
timestamp: "2026-09-26T07:55:23Z"
last_seen: "2026-09-26T07:55:23Z"
occurrences: 1
files: ["src/worker/src/process_worker_manager.c", "src/worker/src/xcecd.c"]
tags: ["security", "worker", "symlink", "tmp"]
related: ["bug-1868"]
fix_commits: ["5df33e69"]
legacy: true
gitea_issue: 289
gitea_synced_status: "fixed"
gitea_synced_hash: "a2de8eb03d0d"
---
# bug-1869: Other root-owned opens of fixed /tmp names in the worker daemon follow symlinks…
## Description
Other root-owned opens of fixed /tmp names in the worker daemon follow symlinks: process_worker_manager.c opens /tmp/xcecd_worker.log O_WRONLY|O_CREAT|O_APPEND (xcecd_worker's stdout/stderr appended through a planted symlink into any file), and xcecd_prepare_restart() (xcecd.c) opens /tmp/.xcecd.restarting O_CREAT|O_WRONLY (creates an empty root-owned file at a dangling symlink's target)
## Environment
_Not recorded (migrated from buglog.json)._
## Reproduction
_Not recorded (migrated from buglog.json)._
## Root cause
Same class as bug-1868: fixed, predictable names in world-writable /tmp opened by root without O_NOFOLLOW/O_EXCL; only the host's fs.protected_symlinks sysctl mitigates. Found while fixing bug-1868; left out of that fix's scope.
## Fix
_Not recorded (migrated from buglog.json)._
## Verification
_Not recorded (migrated from buglog.json)._
## References
- Related: bug-1868
- Gitea: #289