Repository navigation
fix: require opt-in for cross-elevation Windows access - #4779
Conversation
|
@coderabbitai review |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughWindows server security descriptors now apply integrity labels. Elevated servers deny lower-integrity clients by default. A Windows-only configuration setting or Suggested reviewers: Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to This change makes elevated Windows servers require elevated clients by default, with an explicit opt-in for ordinary same-account clients. No merge-blocking issue was identified in the reviewed change. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The default policy becomes more restrictive, and explicit sharing restores previously available same-account access rather than introducing broader privileges. Both client endpoints apply the same policy. Remaining uncertainty concerns direct remote-connection restrictions and uncommon failure or recovery paths. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 17.65% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 8 files. (2 skipped: 2 unsupported.)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Action performedReview finished.
|
|
@coderabbitai review |
|
|
eb195f0 to
8e60349
Compare
|
@coderabbitai review |
|
|
@coderabbitai full review |
8e60349 to
af62455
Compare
|
@coderabbitai full review |
af62455 to
f1eca9f
Compare
✅ Action performedFull review finished. |
✅ Action performedFull review finished. |
|
@ogulcancelik Greptile puts this in tl;dr: #4777 allowed same-user attach from unelevated terminal to admin terminal herdr server. This PR adds a config/flag for that to be allowed. The behaviour mostly mirrors unix behaviour with how sudo works so figured we move it to opt-in but since it's same-user behaviour it's low-risk either way. |
Follow up #4777: elevated Windows servers require elevated clients by default. Ordinary servers remain accessible to ordinary and elevated clients from the same account.
Sharing can be enabled persistently with:
Or enable it for one server process with
herdr server --allow-unelevated-clients, including when config is false. Both options let ordinary same-account processes control administrator panes. Config is read at server startup, including automatic startup; reload does not change existing listener permissions. Remote Windows servers use their host's config. Account restrictions and rejection of direct remote named-pipe clients remain, and low-integrity clients stay excluded with either opt-in.Validation: native Windows
just checkpassed (3,330 Rust tests plus maintenance, integration, architecture, and docs checks). The real-server integration test probes both API and TUI endpoints with explicitly lowered client tokens under default, CLI opt-in, config opt-in, and restart without consent. Local medium-to-low cases and hosted elevated high-to-medium cases passed. Documentation contract checks passed. Deep local security review, Linux/macOS/Windows CI, Windows packaging and ConPTY smoke, CodeRabbit, and Greptile are clear on f1eca9f. The prior startup-test finding is addressed and resolved.Existing servers retain their previous policy until restarted; stopping closes their panes. Config and recovery-file account permissions remain unchanged. This controls live server connections and does not isolate an elevated process from its account's writable configuration or executable files.
refs #4717