CVE-2026-76836: AzuraCast through 0.23.8 Liquidsoap Configuration Write via Profile Edit Serialization Group Bypass

Published Aug 24, 2026
·
Updated

AzuraCast exposes the Liquidsoap custom configuration fields through an endpoint that does not require the permission guarding them. The backendconfig property in backend/src/Entity/Station.php is annotated with GROUPGENERAL, and PUT /api/station/{stationid}/profile/edit in backend/src/Controller/Api/Stations/ProfileEditController.php deserializes with that group while requiring only StationPermissions::Profile. AbstractArrayEntity::fromArray() then assigns every public property with no field-level permission check, so customconfigtop, customconfig, customconfigpreplaylists, customconfigprelive, customconfigprefade and customconfigbottom are writable through it. ConfigWriter::writeCustomConfigurationSection() emits those values verbatim into the generated Liquidsoap .liq script, where the process.run() and process.exec() built-ins execute operating system commands when the backend restarts, which the built-in sync task triggers automatically once needsrestart is set. The dedicated endpoint for the same data, PUT /api/station/{id}/liquidsoap-config, requires StationPermissions::Broadcasting, so a station manager holding only the profile permission reaches configuration that the intended boundary reserves for broadcasting operators.

Affected Software

1 affected component
azuracast azuracast<=0.23.8

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade AzuraCast (Liquidsoap Configuration Write via Profile Edit Serialization Group Bypass) to a version that resolves this vulnerability.

    Fixed in 0.23.8
  2. Compensating control

    Use the dedicated Liquidsoap configuration endpoint authorization boundary (PUT /api/station/{id}/liquidsoap-config requiring StationPermissions::Broadcasting) so that users with only StationPermissions::Profile cannot write Liquidsoap custom configuration fields.

Event History

Aug 24, 2026
CVE Published
via MITRE·05:36 PM
Data Sourced
via MITRE·05:36 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which users can exploit this issue?

A station manager with only the StationPermissions::Profile permission can exploit it. They do not need the StationPermissions::Broadcasting permission that is required by the dedicated Liquidsoap configuration endpoint.

2

What is required for command execution after modifying the configuration?

The attacker can write Liquidsoap custom configuration fields through the station profile edit endpoint and include Liquidsoap process.run() or process.exec() calls. Setting the configuration marks the backend as needing restart, and the built-in sync task automatically triggers the restart that causes the generated script to execute.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203