CVE-2026-100849
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać serwer do wysyłania żądań do wewnętrznych usług, co może prowadzić do ujawnienia danych lub ataków na inne systemy w sieci wewnętrznej.
Rekomendacja
Zaktualizuj AzuraCast do najnowszej dostępnej wersji, gdy tylko pojawi się patch. Ogranicz uprawnienia WebHooks tylko do zaufanych użytkowników.
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-100850Wysokie
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.
- 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 is a self-hosted web radio management suite. In AzuraCast before 0.23.8, the station webhook URL validation in AbstractConnector::getValidUrl() (backend/src/Webhook/Connector/AbstractConnector.php), used by the Generic and Discord webhook connectors, rejects only URLs whose host is a literal link-local IP address (169.254.0.0/16 or fe80::/10). Loopback addresses and RFC1918 private ranges are not rejected, and any non-literal-IP hostname causes the IP parsing call to throw, which skips the check entirely. A user holding only the station-scoped WebHooks permission can therefore configure a webhook pointing at an internal, loopback, or private-network target and cause the server to issue an outbound HTTP POST containing the station's Now Playing data, resulting in server-side request forgery. The PUT /station/{id}/webhook/{id}/test endpoint allows the same low-privileged user to trigger the request on demand. At the time of the advisory no patched version was available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

