Skip to content

Claude/v2 planning 7a5akz - #9

Merged
SimplyJustJessie merged 2 commits into
mainfrom
claude/v2-planning-7a5akz
Jul 19, 2026
Merged

Claude/v2 planning 7a5akz#9
SimplyJustJessie merged 2 commits into
mainfrom
claude/v2-planning-7a5akz

Conversation

@SimplyJustJessie

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 2 commits July 19, 2026 01:10
Two defense-in-depth gaps in the v2 virtual-sink code:

- IsValidDescription only rejected the two quote styles. A description
  is embedded in the pipewire-pulse drop-in as the double-quoted value
  of a single-line `args = "…"` string, so a newline (easily pasted in
  the create-sink field) breaks that value and — since all sinks share
  one pulse.cmd block — fails every declared sink at boot; a backslash
  collides with SPA-JSON's \" / \\ escaping. Reject backslashes and
  control characters too.

- The load path (RuleStore) only normalized shape, not content, so a
  hand-edited rules.json could feed an unvalidated name straight into
  the pactl argv (module-arg injection) and the generated drop-in, and
  a null name would throw from the reconciler's name-keyed sets and
  disable sink reconcile every pass. Sanitize on load: drop specs with
  an unusable name, fall back to the name for an unusable description.
  The cleaned shape persists on the next save.

Adds SinkNameValidatorTests and a RuleStore sanitization test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019fY8PWVacBF6mjfmBmVPnU
…ty-analysis-tjvkdb

Validate sink names and descriptions to prevent config injection
@SimplyJustJessie
SimplyJustJessie merged commit d43b625 into main Jul 19, 2026
0 of 2 checks passed
@SimplyJustJessie
SimplyJustJessie deleted the claude/v2-planning-7a5akz branch August 24, 2026 09:29
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.

2 participants