---
id: "CVE-2026-121429"
kind: "vulnerability"
aliases: ["CVE-2026-121429"]
title: "AzuraCast: station users can run OS commands through StereoTool settings"
severity: "high"
cvss: 8.8
epss: null
exploited: false
status: "open"
category: "ai-tooling"
products: [{"name": "azuracast/azuracast", "fixed": [], "affected": "<= 0.23.8", "ecosystem": "composer"}]
ecosystems: []
tags: ["ai-tooling", "azuracast", "docker", "self-hosted", "stereotool"]
not_affected_if: ["stereotool-not-installed", "stereotool-unused", "trusted-admins-only"]
published_at: "2026-11-03T15:17:33+00:00"
first_seen_at: "2026-11-03T15:21:59+00:00"
updated_at: "2026-11-03T15:24:04+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-121429", "first_seen_at": "2026-11-03T15:21:59+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-11-03T15:24:04+00:00"}]
---

# AzuraCast: station users can run OS commands through StereoTool settings

AzuraCast through 0.23.8 lets a station user with Profile permission inject shell metacharacters into the StereoTool configuration path or license key. Those values are run through /bin/sh when the station restarts, which lets an attacker execute commands inside the container.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- composer:azuracast/azuracast affected <= 0.23.8 fixed ?

## How to check

- Version: run the installed AzuraCast version (admin panel footer or ./docker.sh version); 0.23.8 and earlier, including 0.23.9, have no stable fix.
- Only stations with the StereoTool binary installed are exploitable: check for /storage/stereo_tool/stereo_tool in the container (installed via Administration > Services > StereoTool).
- In each station's profile, check backend_config stereo_tool_configuration_path and stereo_tool_license_key for shell metacharacters (; " $ backticks | & #).
- Review which users hold the station Profile permission, and any API keys with it.

## Fix

No numbered stable release contains a fix: the GHSA lists no patched version, and 0.23.9 (Oct 21, 2026) only updates PHP. The maintainers' CHANGELOG lists 'Improved the security around StereoTool invocation in Liquidsoap' under Rolling Release Changes (not yet in a stable release), so move to the latest rolling release channel build, or apply mitigations below until a stable version ships.

## Timeline

- 2026-11-03T15:21:59+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-121429
- 2026-11-03T15:24:04+00:00 analyst — Read maintainer GHSA (via GitHub API) and CHANGELOG. Affected <= 0.23.8; patched_versions null; fix only in unreleased rolling channel, no version number. PoC is in the GHSA text; no exploitation reported. StereoTool must be installed first (not default). Fix field not marked verified because the changelog does not cite the GHSA or a version.

## Documents

- [advisory] Vendor advisory: github.com https://github.com/AzuraCast/AzuraCast/security/advisories/GHSA-c45c-wrcp-22fx
- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/azuracast-through-0.23.8-command-injection-via-stereotool-liquidsoap-pipe
- [advisory] GHSA-c45c-wrcp-22fx (AzuraCast, maintainer advisory) https://api.github.com/repos/AzuraCast/AzuraCast/security-advisories/GHSA-c45c-wrcp-22fx
- [fix] AzuraCast CHANGELOG (rolling release notes, 0.23.9) https://github.com/AzuraCast/AzuraCast/blob/main/CHANGELOG.md

## From the sources

AzuraCast through 0.23.8 contains a command injection vulnerability that allows station users with Profile permission to execute OS commands via StereoTool settings. Attackers can inject shell metacharacters into stereo_tool_configuration_path or stereo_tool_license_key, which are executed via /bin/sh on station restart, compromising the container.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
