CVE-2026-61714
WysokieCVSS 7.8Streszczenie
FluidSynth od wersji 2.2.4 do 2.5.6 zawiera podatność związaną z konfiguracją synth.midi-channels powyżej 16, która pozwala na odczyty i zapisy poza zakresem pamięci w strukturze _fluid_player_t::channel_isplaying. Może to prowadzić do niezdefiniowanego zachowania i naruszenia poufności, integralności lub dostępności. Problem został naprawiony w wersji 2.5.6.
Ocena ryzyka
Podatność może umożliwić atakującemu zdalne wykonanie kodu lub spowodować awarię usługi, co zagraża bezpieczeństwu systemu i ciągłości działania.
Rekomendacja
Zaktualizuj FluidSynth do wersji 2.5.6 lub nowszej. Jeśli aktualizacja nie jest możliwa, pozostaw wartość synth.midi-channels na domyślnym poziomie 16.
Inne podatności w FluidSynth
Zobacz wszystkie- CVE-2026-61723Średnie
FluidSynth w wersjach od 2.5.0 do 2.5.6 ma podatność w natywnym parserze DLS, gdzie walidacja chunków ptbl używa wyrażenia cues * 4 + cbsize bez sprawdzenia, czy mnożenie i dodawanie mieszczą się w 32 bitach. Specjalnie spreparowany plik DLS może spowodować zawinięcie wyrażenia i przejście kontroli rozmiaru, co prowadzi do alokacji około czterech gigabajtów i odczytów miliardów wpisów poza granicami chunku.
- CVE-2026-61722Średnie
FluidSynth w wersjach od 2.5.0 do 2.5.6 ma podatność w natywnym parserze DLS, gdzie walidacja chunków artykulacji używa wyrażenia cbsize + connblocks * 12 bez sprawdzenia, czy mnożenie i dodawanie mieszczą się w 32 bitach. Specjalnie spreparowany plik DLS może spowodować zawinięcie wyrażenia i ominięcie kontroli rozmiaru, co prowadzi do około miliarda iteracji 12-bajtowych poza granicami chunku.
- CVE-2026-61721Wysokie
FluidSynth to syntezator programowy oparty na specyfikacjach SoundFont 2. Od wersji 2.5.0 do 2.5.6 natywny loader DLS przypisuje kontrolowane przez plik wartości wsmp.loop_start i wsmp.loop_length do próbek bez wywołania fluid_sample_validate() lub fluid_sample_sanitize_loop(). Spreparowany plik DLS może umieścić punkty pętli próbki poza buforem próbki, powodując odczyty poza zakresem podczas renderowania dźwięku.
- CVE-2026-61720Średnie
FluidSynth w wersjach od 2.5.0 do 2.5.6 ma podatność w parserze SF2, gdzie liczba modulatorów DMOD jest obliczana jako chunk.size / SF_MOD_SIZE - 1 bez odrzucania chunków mniejszych niż jeden rekord. Specjalnie spreparowany plik SF2 z zerowym rozmiarem chunku DMOD powoduje zawinięcie odejmowania do UINT_MAX, a parser próbuje wykonać miliardy alokacji SFMod.
- CVE-2025-56225Wysokie
Fluidsynth w wersji 2.4.6 i wcześniejszych zawiera podatność na odwołanie do wskaźnika null w pliku fluid_synth_monopoly.c, którą można wywołać podczas ładowania nieprawidłowego pliku MIDI.
- CVE-2026-58264Krytyczne
FluidSynth od wersji 1.1.2 do 2.5.6 zawiera podatność na zapis poza zakresem sterty w obsłudze polecenia pitch_bend_range, gdzie argument kanału nie jest sprawdzany przed zapisem. Może to prowadzić do odmowy usługi lub potencjalnego wykonania kodu. Problem jest osiągalny zdalnie przez serwer TCP lub lokalnie przez powłokę FluidSynth.
Oryginalny opis (angielski, źródło NVD)
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.2.4 until 2.5.6, configuring synth.midi-channels above 16 allows the MIDI player to index _fluid_player_t::channel_isplaying outside its fixed-size heap allocation while tracking active channels. The resulting out-of-bounds reads and writes invoke undefined behavior and may compromise confidentiality, integrity, or availability. No crafted MIDI file is required because the unsafe condition is created by the channel-count configuration itself. Keeping synth.midi-channels at its default value of 16 avoids the vulnerable path. This issue is fixed in version 2.5.6.

