Skip to main content

AzuraCast EUVDEUVD-2026-115855

| CVE-2026-121433 MEDIUM
Improper Neutralization of Formula Elements in a CSV File (CWE-1236)
2026-11-03 VulnCheck GHSA-69c2-7h9f-h4x5
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as station user with Media permission
  2. Delivery
    Import crafted metadata via bulk files API
  3. Exploit
    Formula payload stored in media record
  4. Execution
    Victim exports and opens CSV in Excel
  5. Impact
    Spreadsheet evaluates formula, enabling data manipulation or external fetch

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization CSV injection prevention
Exploitation Conditions

Requires an authenticated station user who holds the Media permission for the target station; the attacker submits formula-prefixed values (leading =, +, -, @, tab, or carriage return) in media titles, artists, albums, genres, lyrics, ISRC, extra metadata, or station custom fields through POST /api/station/{station_id}/files/bulk, and these are stored without spreadsheet-safe neutralization. Exploitation only realizes when a second authorized user subsequently exports the station's bulk media CSV via GET /api/station/{station_id}/files/bulk AND opens that file in a formula-evaluating spreadsheet application (e.g. Microsoft Excel) that permits formula execution. Limiting factors: authenticated low-privilege access is required (not unauthenticated), success depends on victim action (exporting and opening the CSV) and on the spreadsheet application's version and security settings, and the advisory explicitly disclaims server-side code execution, OS command execution, and execution within the AzuraCast process - impact is confined to the downstream spreadsheet environment.

Impact

This is a medium-severity (CVSS 4.0 base 5.1) stored CSV formula injection (CWE-1236) whose signals consistently point to a real-but-non-urgent issue rather than a high-impact priority. The CVSS 4.0 vector shows network delivery (AV:N) and low attack complexity (AC:L) but requires an authenticated station user holding the Media permission (PR:L) plus passive victim interaction (UI:P), and crucially records NO impact on the AzuraCast server itself (VC:N/VI:N/VA:N) - the only impact is on a subsequent system, the victim's spreadsheet application (SC:L/SI:L, SA:N). No EPSS score and no KEV status were provided in the input, so there is no probabilistic or confirmed-exploitation signal to raise urgency; absence of these is not evidence of safety but means widespread automated exploitation cannot be asserted. The vuln.today decision label is 'this_month', not act_now or emergency, which aligns with the constrained preconditions. A public PoC reference exists (reproduction steps in the GHSA advisory) but the advisory explicitly states it was not dynamically reproduced and uses a benign payload, so it is not verified working exploit code. Net assessment: a legitimate defense-in-depth bug driven by an authenticated insider/compromised-account threat model with downstream spreadsheet impact - schedule the fix, but it is not a drop-everything network RCE despite the AV:N vector.

Exploit ScenarioDerived

An authenticated station user holding the Media permission (e.g. 'mallory') uses the bulk media import endpoint POST /api/station/{station_id}/files/bulk to persist a formula-prefixed value (such as =1+1, or a more hostile external-reference formula) in a media title, artist, album, genre, lyrics, ISRC, or custom field. Later another authorized user ('alice') exports the station's bulk media CSV and opens it in Microsoft Excel or a similar formula-capable application, where the stored string is evaluated as a formula rather than shown as literal text. A public PoC reference with step-by-step reproduction exists in the GHSA advisory, though it was not dynamically reproduced and the payload is intentionally benign.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

Stored CSV formula injection in AzuraCast 0.23.8 and earlier allows a station user holding the Media permission to persist formula-prefixed values (leading =, +, -, @, tab, or carriage return) in media titles, artists, albums, genres, lyrics, ISRC, extra metadata, or station custom fields through POST /api/station/{station_id}/files/bulk. The injected payload is neutralized nowhere on export, so it becomes live the moment a second authorized user downloads the station's bulk media CSV via GET /api/station/{station_id}/files/bulk and opens it in a formula-evaluating spreadsheet such as Microsoft Excel. Impact is confined to the downstream spreadsheet client - the advisory explicitly disclaims server-side or OS-level code execution inside the AzuraCast process - and success depends on victim interaction plus the spreadsheet's version and security settings; no public exploit code was identified at time of analysis and the issue is not in CISA KEV, consistent with a medium-severity, non-urgent priority.

RemediationAI

Vendor-released patch: AzuraCast 0.24.0, which introduces spreadsheet-safe neutralization of all user-controlled exported cells beginning with =, +, -, @, tab, carriage return, or other formula indicators immediately before the media record is written via insertOne(); upgrade all instances from 0.23.8 or earlier to 0.24.0 and apply it on a normal monthly maintenance cadence per the current priority label. Where upgrading must wait, the practical compensating controls are to restrict the station Media permission to trusted operators only (this removes the injection primitive but also removes bulk-import capability from legitimate non-admin staff) and to prevent the export side of the chain by opening downloaded bulk media CSVs through a text editor or spreadsheet import-as-text workflow rather than double-clicking them into Excel (this blocks formula evaluation but burdens day-to-day reporting users). If you maintain a fork or custom export path, add the same prefix-neutralization before CSV serialization and cover media titles, artists, albums, genres, lyrics, ISRC, extra metadata, and station custom fields with regression tests for each formula prefix. Details and reproduction steps are in the vendor advisory at https://github.com/AzuraCast/AzuraCast/security/advisories/GHSA-5x35-83gj-w8gw.

Affected VersionsENISA

AzuraCast 0 <0.24.0

Affected Packages

euvd azuracast fix: 0.24.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-1236 (Improper Neutralization of Formula Elements in a CSV File) is a classic export-time encoding failure: user-controlled strings are written verbatim into CSV cells, and spreadsheet applications interpret any cell beginning with =, +, -, @, a tab, or a carriage return as a formula rather than literal text. Here the injection point is AzuraCast's bulk media pipeline, which reuses the same /api/station/{station_id}/files/bulk route for both download (export) and upload (import); a Media-permission holder imports a CSV with a formula-prefixed title such as =1+1, the value is persisted through the media record (the report points to insertOne() as the sink), and every later export re-emits the payload unchanged. The advisory notes the flaw was confirmed from source-code data flow but was not dynamically reproduced, and it uses the benign '=1+1' payload alongside a negative control ('=1+1 prefixed with a single quote) to illustrate the missing spreadsheet-safe encoding. The correct fix is a consistent neutralization policy applied immediately before insertOne() that prefixes every exported cell beginning with a formula indicator, with regression tests covering media metadata, extra metadata, custom fields, and each recognized prefix. CVSS 4.0 scores 5.1 with PR:L and UI:P, matching an authenticated low-privilege author and a victim who must open the exported file.

Know when Azuracast gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated Media permission gives PR:L and victim must open the exported CSV (UI:R); impact lands on the separate spreadsheet so S:C with low C/I and no availability effect.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Nov 03, 2026 - 16:17 EUVD

DescriptionCVE.org

AzuraCast before 0.24.0 contains a stored CSV formula injection vulnerability that allows station users with Media permission to persist formula-prefixed metadata via bulk media import. Attackers can import crafted titles, artists, or custom fields through /api/station/{station_id}/files/bulk so formulas evaluate when other users open exported CSVs in spreadsheets.

Threat Intelligence Overview

Prevalence
Low
self-hosted web radio management platform, niche broadcasting audience
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

CVE-2023-2531 CRITICAL POC
9.8 May 05

Improper Restriction of Excessive Authentication Attempts in GitHub repository azuracast/azuracast prior to 0.18.3. Rate

CVE-2026-100852 HIGH
8.7 Sep 27

Command execution as the Liquidsoap process user is possible in AzuraCast through 0.23.x when an authenticated station u

CVE-2023-2191 MEDIUM POC
4.8 Apr 20

Cross-site Scripting (XSS) - Stored in GitHub repository azuracast/azuracast prior to 0.18. Rated medium severity (CVSS

CVE-2026-100856 HIGH
8.7 Sep 27

Code injection in AzuraCast through 0.23.5 lets an authenticated user holding the RemoteRelays station permission inject

CVE-2026-76836 HIGH
8.7 Aug 24

Remote code execution in AzuraCast ≤0.23.8 is reachable by any authenticated station manager due to a serialization grou

CVE-2026-100847 HIGH
8.7 Sep 27

Unauthenticated DQL injection in AzuraCast before 0.23.8 allows remote attackers to extract sensitive database informati

CVE-2026-121429 HIGH
8.7 Nov 03

Authenticated command injection in AzuraCast through 0.23.8 lets any station user holding the standard Profile permissio

CVE-2026-121428 HIGH
8.7 Nov 03

Authenticated station managers in AzuraCast through 0.23.8 can turn a station profile edit into root-level command execu

CVE-2026-121427 HIGH
8.7 Nov 03

Configuration injection in AzuraCast through 0.23.8 lets an authenticated station user who holds only the 'Manage statio

CVE-2026-100857 HIGH
8.6 Sep 27

Authenticated code injection in AzuraCast 0.23.3 and earlier lets a user holding StationPermissions::Media or StationPer

CVE-2026-100853 HIGH
8.2 Sep 27

Unauthenticated media exposure in AzuraCast before 0.23.8 allows remote attackers to download audio files that station o

CVE-2025-67737 LOW POC
3.7 Dec 12

Unauthenticated HTTP requests to AzuraCast 0.23.1's internal sftpgo integration endpoints (/api/internal/sftp-auth and /

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy