myxce/src/frontend
lei.chen f94cc08680 fix(security): x11_cookie field-level RBAC; xcecli -X preflight before submit
The per-job MIT-MAGIC-COOKIE-1 that unlocks an -X job's X11 forwarding
port rode every job reply that asked for it: any job:view caller could
read another user's cookie and connect straight to the worker's
forwarding port (6100-6199), bypassing the xattach relay's ownership
check. The SSE job stream carried it too, since its events embed the
full JobInfo row.

- apiserver: stripX11Cookie drops the cookie from GetJobsInfo,
  GetJobByIDs and the SSE stream for every job the caller does not own
  and holds no job:control grant over — the same rule XAttachJob
  enforces. The row itself stays visible; only the secret goes.
- xcecli: preflightX11 checks DISPLAY, the Xauthority file and the
  xauth binary before the job is submitted, so a misconfigured display
  fails in one second instead of dispatching a job nobody can watch.

Verified end-to-end on t1: owner reads the cookie, a group mate with
job:view(self_ug)+job:control(self) gets the row with the cookie
stripped, an unrelated user is refused at the row level; controllers
tests cover the matrix plus the SSE path.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 07:19:26 +00:00
..
apiserver fix(security): x11_cookie field-level RBAC; xcecli -X preflight before submit 2026-10-18 07:19:26 +00:00
docs feat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) 2026-09-03 14:22:54 +00:00
mcp-server feat(mcp-server): add scheduler_checkpoint + scheduler_restart tools 2026-08-30 10:36:54 +00:00
schedulerclient feat(mcp-server): add scheduler_checkpoint + scheduler_restart tools 2026-08-30 10:36:54 +00:00
tests/regression fix(frontend-test): regression suite accepts dashed job IDs and no longer hangs on stdin (bug-1765) 2026-09-30 04:13:26 +00:00
xcecli fix(security): x11_cookie field-level RBAC; xcecli -X preflight before submit 2026-10-18 07:19:26 +00:00
CLAUDE.md merge: sync Rongsong's scheduler-framework (c5b172c7..3442a57d, 781 commits) 2026-10-14 05:17:03 +00:00
meson.build Merge Go frontend (apiserver + xcecli) into meson build 2026-04-14 11:23:18 +08:00