CVE-2026-100850
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
AzuraCast przed wersją 0.23.8 zawiera podatność na fałszowanie żądań po stronie serwera (SSRF) i odczyt lokalnych plików w funkcji pobierania zdalnej playlisty AutoDJ (getMediaFromRemoteUrl()). Użytkownik z uprawnieniami Media może utworzyć playlistę z source=remote_url i remote_type=playlist, wskazując na ścieżkę file:// lub wewnętrzny adres HTTP. Gdy AutoDJ buduje kolejkę, backend przekazuje URL bezpośrednio do file_get_contents() bez listy dozwolonych schematów ani polityki IP, co umożliwia odczyt plików hosta (np. /etc/passwd lub .env) i treści wewnętrznych żądań HTTP. Brak dostępnej wersji z poprawką w momencie publikacji.
Ocena ryzyka
Atakujący może odczytać wrażliwe pliki z serwera oraz wykonywać żądania do wewnętrznych zasobów, co może prowadzić do ujawnienia danych i dalszej kompromitacji systemu.
Rekomendacja
Ogranicz dostęp do funkcji playlist zdalnych, monitoruj ruch i zastosuj tymczasowe zabezpieczenia, takie jak blokada schematów file:// i adresów wewnętrznych, do czasu wydania poprawki.
Inne podatności w AzuraCast
Zobacz wszystkie- CVE-2026-100857Wysokie
AzuraCast przed wersją 0.23.4 zawiera podatność wstrzykiwania kodu w metodzie ConfigWriter::cleanUpString(), która nie sanitizuje sekwencji interpolacji Liquidsoap. Uwierzytelnieni użytkownicy z uprawnieniami Media lub Profile mogą wstrzyknąć dowolny kod Liquidsoap do konfiguracji stacji, co prowadzi do wykonania poleceń powłoki jako użytkownik azuracast przy restarcie stacji.
- CVE-2026-100856Wysokie
AzuraCast przed wersją 0.23.6 zawiera podatność wstrzykiwania kodu w polu hasła zdalnego przekaźnika z powodu niepełnej migracji z podatnej metody cleanUpString do toRawString. Atakujący z uprawnieniami RemoteRelays mogą wstrzyknąć zagnieżdżoną składnię interpolacji Liquidsoap, aby wykonać dowolny kod w procesie Liquidsoap, ujawnić wewnętrzne klucze API lub zakłócić działanie stacji.
- CVE-2026-100855Średnie
AzuraCast przed wersją 0.23.6 zawiera brak sprawdzenia uprawnień w punkcie końcowym GET /api/station/{station_id}/file/{id}/play, co pozwala uwierzytelnionym użytkownikom na pobieranie plików multimedialnych z dowolnej stacji. Atakujący mogą enumerować pliki za pomocą sekwencyjnych identyfikatorów i eksfiltrować całą bibliotekę multimediów stacji, do których nie mają uprawnień.
- CVE-2026-100854Średnie
AzuraCast przed wersją 0.23.6 nie stosuje middleware RequireInternalConnection na punkcie końcowym API Liquidsoap i błędnie wyprowadza flagę AutoDJ z obecności nagłówka, a nie z jego zweryfikowanej wartości. Użytkownicy z uprawnieniem View station mogą wstrzykiwać dowolne metadane now-playing, zakłócać transmisje na żywo i ujawniać ścieżki systemu plików.
- CVE-2026-100853Średnie
W AzuraCast przed wersją 0.23.8 publiczny punkt końcowy pobierania On-Demand nie weryfikuje kontroli dostępu na poziomie playlisty, co pozwala nieuwierzytelnionym użytkownikom na pobieranie plików multimedialnych wykluczonych z playlist z włączonym On-Demand. Atakujący mogą ominąć zamierzone ograniczenia dostępu, bezpośrednio żądając mediów za pomocą prawidłowych identyfikatorów, ujawniając prywatne lub zastrzeżone treści audio.
- CVE-2026-100852Wysokie
Podatność na wstrzykiwanie poleceń w AzuraCast przed wersją 0.23.8, występująca w generowaniu konfiguracji Liquidsoap dla nagrań na żywo. Brak odpowiedniego cytowania nazwy użytkownika streamera w wywołaniach process.run.
- CVE-2026-100851Wysokie
AzuraCast przed wersją 0.23.8 zawiera podatność uszkodzonej kontroli dostępu w endpointcie GET /api/station/{id}/vue/profile, która umożliwia uwierzytelnionym użytkownikom z uprawnieniem View Station Page odczytanie haseł administratora, źródła i przekaźnika Icecast/Shoutcast. Atakujący z dostępem tylko do podglądu może wywołać ten endpoint i otrzymać jawne poświadczenia frontendu w odpowiedzi JSON, a następnie użyć hasła administratora do uwierzytelnienia w interfejsie administracyjnym Icecast bez uprawnień Broadcasting.
- CVE-2026-100849Wysokie
AzuraCast przed wersją 0.23.8 zawiera podatność SSRF w walidacji URL webhooka. Walidacja odrzuca tylko adresy IP link-local, ale nie blokuje adresów loopback ani prywatnych, a nazwy hostów niebędące adresami IP całkowicie omijają sprawdzenie. Użytkownik z uprawnieniami WebHooks może skonfigurować webhook wskazujący na wewnętrzne zasoby i wywołać żądanie HTTP POST z danymi Now Playing.
- CVE-2026-100848Wysokie
AzuraCast przed wersją 0.23.8 zawiera podatność SSRF w walidacji URL Remote Relay. Walidacja sprawdza tylko składnię URL i schemat http/https, bez ograniczeń dotyczących hosta lub adresu IP. Użytkownik z uprawnieniami RemoteRelays może ustawić URL wskazujący na loopback, sieć prywatną lub adresy metadata chmury, a automatyczna synchronizacja Now Playing będzie wysyłać żądania do tych adresów.
- CVE-2026-100847Wysokie
AzuraCast przed wersją 0.23.8 zawiera podatność wstrzykiwania DQL w parametrze sortOrder w AbstractSearchableListAction.php. Atakujący może wstrzykiwać dowolne wyrażenia DQL, aby wyodrębnić wrażliwe dane z bazy, w tym dane uwierzytelniające użytkowników i ustawienia stacji.
Oryginalny opis (angielski, źródło NVD)
AzuraCast before 0.23.8 contains a server-side request forgery and local file read vulnerability in the AutoDJ remote playlist fetch (backend/src/Radio/AutoDJ/QueueBuilder.php, getMediaFromRemoteUrl()). A user with the station Media permission can create or update a playlist with source=remote_url and remote_type=playlist whose remote_url points at a file:// path or an internal/loopback/link-local HTTP endpoint. When AutoDJ builds the queue, the backend passes the user-supplied URL directly to file_get_contents() with no scheme allowlist and no private/loopback/metadata IP policy (PHP allow_url_fopen is enabled by default, including in the Docker image). Lines from the fetched resource are parsed as M3U/PLS entries, stored in StationQueue.autodj_custom_uri, and returned by GET /api/station/{station_id}/queue to any user with the Broadcasting permission, disclosing host files readable by the web container (for example /etc/passwd or the application .env) and the bodies of non-blind internal HTTP requests. No patched version was available at the time of publication.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

