Recyclarr 8.7 Security Response: Treat Template Sources as a Write Boundary

Quick Answer

Pause affected Recyclarr template jobs, preserve the provider revisions and generated files, and inventory what the process could read or overwrite. The advisory metadata lists versions through 8.6.0 as affected and 8.7.0 as patched. Move to a reviewed supported fixed release before processing templates or syncing production. Test without production secrets or writable production mounts, review output and application diffs, and rotate credentials whose exposure cannot be bounded.

Interactive reference model
Recyclarr Template Trust Boundary
Treat every local or remote template provider as input that must be contained before it writes configuration.
Recyclarr Template Trust Boundary Treat every local or remote template provider as input that must be contained before it writes configuration. 1SourceRemote orlocal templates2RenderGeneratecandidate config3CompareReview diffsbefore sync4SyncApply afterbackup
Source

Identify every template provider, branch, pinned commit, and local override used by the stack.

Render

Generate in an isolated process/container with no production secrets or writable production mounts. A disposable output directory alone does not contain traversal.

Compare

Compare generated YAML and application changes before pushing to Sonarr or Radarr.

Sync

Take application backups and keep a rollback point before syncing profile changes.

Decision Matrix

AreaWhat to CheckOperational Standard
VersionRecyclarr release, container digest, config schemaRun a fixed release and document the tested version.
ProvidersRemote template repositories, branches, commits, local templatesPin and review template sources.
WritesConfig directory, generated YAML, app API writesOnly expected paths and application fields change.
RecoveryPre-sync config snapshot and app backupsRollback is available before profile changes reach users.

Inventory the Template Runner

Recyclarr is a CLI automation tool; the relevant entry point here is provider content consumed by a local command, scheduled container, or CI job. The Recyclarr Advisory GHSA-9wh7-8wrf-9x8r describes a malicious manifest redirecting file reads and writes during template creation. Published metadata gives 8.7.0 as the fix, despite stale draft wording in the description. The write primitive is constrained to a .yml destination and the process's permissions; the read primitive can reach files that process can read.

  • Record the actual executable/image digest, scheduler, command, UID/GID, environment-secret sources and mounted paths before changing the runner.
  • Preserve provider URLs, revisions, local overrides, manifests, generated configuration and relevant job logs. A familiar template ID does not establish a safe source path.
  • Map readable credentials and writable YAML locations, including settings, generated instances, Compose/CI definitions and shared volumes. Pause jobs and prevent automatic provider refresh while assessing suspicious state.

Patch Before Processing More Templates

Upgrade the runner before it processes more provider input. Pin and review a revision using the selected provider's supported mechanism; do not assume every source supports arbitrary commit pinning. Inspect configured destinations and generated YAML before permitting API access to Sonarr or Radarr.

  • Use an isolated test account/container with only disposable input/output, no production credentials, and no writable production or orchestration mounts.
  • A benign output test checks expected changes; a dedicated vendor-reviewed negative fixture can test the recorded containment boundary. Do not create or run traversal payloads against live paths.
  • If unintended reads/writes or provider tampering are found, preserve evidence, assess affected runner and downstream state, and rebuild from known-good software and reviewed configuration. Absence of inbound network exposure does not exclude this supply-chain path.

Rotate What The Vulnerable Path Could Reach

Recyclarr configuration can hold Sonarr/Radarr keys and other reachable secrets; it is not a web dashboard with its own login key in this workflow. Identify what the runner could read, what generated files or logs captured, and whether altered application URLs could redirect later requests. Revoke abused credentials promptly and provision replacements from a clean path.

  • Review Sonarr/Radarr API keys, readable environment or CI secrets, provider credentials and any other files within the process's actual access.
  • Check settings.yml, generated instance base URLs and orchestration YAML before reconnecting dependencies; changing the image alone does not replace these files.
  • Keep a dated revocation record. Restrict historical evidence and backups rather than rewriting them to hide old secrets; do not restore revoked keys into service.

Recover the Runner and Application State

Recreate an untrusted runner from a known-good image or package and compare persistent state against reviewed sources. Preserve original files, logs and metadata before cleanup. Restore only approved settings and templates, with new secrets and narrowly scoped filesystem/API permissions. Then inspect Sonarr/Radarr changes and test restoration of their pre-sync backups in isolation. A new runner does not undo previous API writes or resolve missing evidence.

Validation Checklist

  • Recyclarr reports the expected fixed version.
  • Template providers and pinned revisions are documented.
  • The approved negative fixture is rejected on the recorded version and isolated filesystem boundary; ordinary authorized reads and other code paths still need separate review.
  • Generated output differs only where expected.
  • Sonarr and Radarr backups exist before sync and old API keys are not printed in logs.

What This Does Not Prove

A clean Recyclarr run does not prove a template repository is safe, that historical generated files were not altered, or that Sonarr/Radarr state matches your intent. It only verifies the tested version and test path.

Security, Privacy, Legal, And Recovery Boundaries

  • Do not run path-traversal fixtures against production paths.
  • Do not publish API keys, application URLs, profile names tied to private libraries, or full generated configuration if it exposes your environment.
  • Use this for lawful personal media organization and quality-profile management only.
  • Back up application databases before sync operations that can rewrite many profiles at once.

Version and Test Boundary

Recheck the published advisory metadata, supported target release and provider syntax before deployment. Record the exact runner and source revision, filesystem/API permissions, intended changes and recovery set. No template rendering, negative fixture, sync or restoration was performed for this guide.

Related TechGeeks Resources

References

Leave a Reply

Your email address will not be published. Required fields are marked *