chore(release): 0.56.9 dependency and ffmpeg security updates - #137
Merged
Conversation
Bump the pinned static ffmpeg from the n8.1 series to n9.0 (n9.0.1-11-ge47273f4d9, built 2026-09-01), closing #133. ffmpeg parses untrusted audio uploads and carries no package-database entry, so trivy never sees it and the weekly monitor is the only signal the pin has aged. Accept CVE-2026-9856 (transformers save_pretrained path traversal, fixed in 5.10.0) in .trivyignore.tts. chatterbox-tts 0.1.7 pins transformers 5.2.0 exactly, so the upgrade is a no-op; the wrapper never calls save_pretrained and a TTS model carries no chat templates.
The release CVE gate surfaced sqlite FTS5 memory corruption (CVE-2026-11822, CVE-2026-11824) in all three images, an expat quadratic-blowup DoS (CVE-2026-66046) in tts and render, and a libtiff tiffcrop RCE (CVE-2026-52490) in render. None has a patched package in Debian trixie. Each acceptance records why it is unreachable here: no FTS5 tables and no foreign database files, no untrusted XML parsing, and libtiff-tools (which carries the vulnerable tiffcrop code) is not installed in the render image.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Patch release rolling up the open dependency work and the ffmpeg pin.
ffmpeg n8.1 -> n9.0 (closes #133)
The static ffmpeg baked into the app image moves from n8.1.2-22-g94138f6973
(built 2026-07-10) to n9.0.1-11-ge47273f4d9 (built 2026-09-01). ffmpeg parses
untrusted audio uploads, and the binary carries no package-database entry, so
trivy never sees it and the weekly upstream monitor is the only signal that
the pin has aged.
The BtbN autobuild asset is mirrored to release tag
ffmpeg-static-n9.0.1-11-ge47273f4d9and pinned by sha256, same as the oldone. Verified before the pin landed:
--checksum=valuemv /tmp/ffmpeg-*/bin/ffmpegstill resolvesservices/audio.pyrun clean on n9.0: theloudnorm measurement pass emits all five keys the parser reads, and both the
two-pass and single-pass encode paths exit 0
check_ffmpeg.pyparses the new token and reports the pin up to dateDependency updates
Merged separately from the Dependabot queue and included here for the release:
pypdf 6.15.0 to 6.16.1 (three DoS advisories), browserslist 4.28.2 to 4.28.8
and postcss-selector-parser 6.1.2 to 6.1.3, the uv builder image 0.12.3 to
0.12.7, and the setup-uv, build-push-action, and setup-buildx-action CI
actions to their next major.
Accepted CVE
CVE-2026-9856 (transformers, HIGH) added to
.trivyignore.tts. It is asave_pretrainedpath traversal through a chat template name, fixed in5.10.0. chatterbox-tts 0.1.7 pins transformers 5.2.0 exactly, so
uv lock --upgrade-package transformersresolves to no change. The wrappernever calls
save_pretrained, and a TTS model carries no chat templates. TheDependabot alert is dismissed with the same reasoning.
Accepted CVEs from the release gate
Four HIGH findings survived the gate, none with a patched package in Debian
trixie. Each is recorded in the ignorefile for the images it affects:
storeAtts(); nothing here parses untrusted XMLprocess_command_opts()lives intools/tiffcrop.c, shipped by libtiff-tools. The render image installs only libtiff6, so the code is not in the imageAfter these entries the gate reports all four images CLEAN.
Testing
ruff checkclean,sync_version.py --checkclean