Prepare Mini EQ 0.8.8: native-rate EQ, lock hardening and preset picker - #46
Conversation
|
Security triage for CodeQL alerts #78, #79 and #80 (py/path-injection): these paths originate from the launching desktop session XDG_RUNTIME_DIR, not imported presets or remote input. Mini EQ runs without privilege elevation. The lock basename is fixed; the directory is opened with O_DIRECTORY/O_NOFOLLOW and checked for matching UID and no group/world write permission. The lock is opened relative to that directory with O_NOFOLLOW, then checked for regular-file type, matching UID, single hard link and safe permissions; truncation happens only after acquiring flock. The initial mkdir uses the same unprivileged user authority as the supplied session environment. Under this desktop threat model these three findings are false positives, not a reason to disable CodeQL. The 11 instance-lock tests and additional symlink-directory/shared-directory rejection probes passed. Release preflight also passed with published pipewire-gobject 0.3.10; local Flatpak/portal validation is being completed before publication. |
|
Release gates completed for 4d0c9b4: full container preflight with published pipewire-gobject 0.3.10 passed; local installed Flatpak 0.8.8 passed isolated routing, idle recreation, paused resume, relink recovery, active links and stream restoration. Real GNOME/Fedora VM validation of the exact Flatpak candidate also passed: clean background permission (absent before request, yes afterward; this backend granted without an additional dialog), background off/on, Start at Login and start-active toggles through actual GTK controls, portal-generated autostart entry, close-to-background, Shell Show Mini EQ and Quit Mini EQ, process/node removal and normal output restoration. After reboot, GetState confirms 0.8.8, hidden window, background/autostart/start-active enabled and routing active; the VM includes a pre-existing 15-second WirePlumber startup delay, and the app becomes ready when the session manager starts. Owner real-music test, visual matrices, live GTK smoke, performance and extension packaging checks previously passed. CodeQL triage is documented above and all PR checks are green. |
|
Post-merge security triage at c98c043: old lock alerts #74–76 are now fixed. Alert #77 is a false positive for the hardened smoke helper: pw-cat is a fixed executable, subprocess receives an argv list without a shell, and the node value is validated both by argparse and at the call site before being attached as one --target=value argument. Option/shell payload probes are rejected. New alert #81 is also a false positive: fullmatch fixes the start position, the regex has one non-nested repetition of a character class, no overlapping repeated groups or ambiguous alternatives, and end anchoring. Rejected 0...0! inputs of 10k/100k/1M/4M characters took approximately 0.09/1.17/14.62/52.20 ms, consistent with linear rather than polynomial backtracking. These findings concern maintainer smoke tooling, not a network endpoint. Neither scan rule is disabled. |
Summary
Validation
Release gates
Addresses #45; issue closure will follow release verification.