Every CVE Search/ Get API key

CVE-2026-61721

FluidSynth: Heap-based buffer overrun for DLS samples

8.0 HighFix available

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
Low
Availability
High

Exploit likelihood

0.19%Unchanged since Sep 19, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.0

FluidSynth: Heap-based buffer overrun for DLS samples

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
CVE-2026-61721
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Weakness
CWE-122, CWE-125
Updated
2026-11-02
EUVDEUVD-2026-83375 8.0

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
EUVD-2026-83375
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Updated
2026-11-02
NVD 8.0

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
CVE-2026-61721
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Weakness
CWE-122, CWE-125
Updated
2026-11-02
OSV 8.0

FluidSynth: Heap-based buffer overrun for DLS samples

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
CVE-2026-61721
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Weakness
CWE-122, CWE-125
Updated
2026-11-02
OSVDEBIAN-CVE-2026-61721 8.0

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
DEBIAN-CVE-2026-61721
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Updated
2026-11-02
OSVOESA-2026-3167 8.0

fluidsynth security update

FluidSynth is a free software synthesizer. Its currently based on the SoundFont 2 specifications and supports real time MIDI effect controls. It can be used as a shared library for embedding in other applications, can play MIDI files and has a command line shell. Many other applications use FluidSynth for audio synthesis.

Security Fix(es):

A heap-based buffer overflow was discovered in fluidsynth's MIDI player. When the synth is configured with synth.midi-channels > 16 an out-of-bounds memory access is performed on the array _fluid_player_t::channel_isplaying in heap memory invoking undefined behavior. No crafted MIDI file is required to expose this vulnerability.(CVE-2026-61714)

An unsigned integer overflow in fluidsynth's SF2 parser was discovered. The DMOD chunk handler calculates modulator count as chunk.size / SF_MOD_SIZE - 1. When chunk.size = 0, the division yields 0 and the unsigned subtraction wraps to UINT_MAX (4,294,967,295). The guard check passes because 0 % 10 == 0. The loop iterates billions of times, allocating an SFMod struct per iteration until causing a denial of service via out-of-memory.(CVE-2026-61720)

Fluidsynth's native DLS loader sets sample loop points from file-sourced wsmp.loop_start and wsmp.loop_length values without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). Crafted DLS files with loop values exceeding the sample buffer cause out-of-bounds reads during audio rendering, invoking undefined behavior and denial of service.(CVE-2026-61721)

An integer overflow was discovered in fluidsynth's native DLS parser. The expression cbsize + connblocks * 12 overflows for connblocks = 0x40000001. The loop reads 12 bytes per iteration for ~1 billion iterations (~12.8 GB total) past the chunk boundary.(CVE-2026-61722)

An integer overflow was discovered in fluidsynth's native DLS parser. The ptbl chunk validation uses uint32_t arithmetic: cues * 4 + cbsize != subchunk.size. For cues = 0x40000002 and cbsize = 8, the multiplication overflows: 0x40000002 * 4 = 0x100000008, truncated to 0x8. The check 8 + 8 = 16 == subchunk.size passes. The subsequent poolcues.resize(cues) attempts a ~4GB allocation, and the loop reads billions of entries past the file's chunk boundary.(CVE-2026-61723)

Record
OESA-2026-3167
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-61721 8.0

FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS loader assigns file-controlled wsmp.loop_start and wsmp.loop_length values to samples without calling fluid_sample_validate() or fluid_sample_sanitize_loop(). A crafted DLS file can place sample loop points beyond the sample buffer, causing out-of-bounds reads during audio rendering, undefined behavior, possible memory disclosure, and denial of service. Builds compiled with the CMake option enable-native-dls set to OFF do not expose the affected parser. This issue is fixed in version 2.5.6.

Record
UBUNTU-CVE-2026-61721
CVSS 3.1
8.0 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
fluidsynth
Debian:14
before 2.5.6+dfsg-1, plus listed versions
2.4.4+dfsg-12.4.6+dfsg-12.4.7+dfsg-12.4.7+dfsg-22.4.8+dfsg-1
Show 8 moreShow less
2.5.0+dfsg-12.5.1+dfsg-12.5.1+dfsg-22.5.2+dfsg-12.5.3+dfsg-12.5.4+dfsg-12.5.5+dfsg-12.5.5+dfsg-2
2.5.6+dfsg-1
fluidsynth
openEuler:24.03-LTS-SP4
From an advisory covering 5 CVEs
before 2.5.6-1.oe2403sp4
2.5.6-1.oe2403sp4

History

History
RecordedChangedSources
affected, facts
affected
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-61721 is a high vulnerability (CVSS 8.0) in Fluidsynth, published July 24, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.19%, the 8th percentile. Fixed in fluidsynth 2.5.6+dfsg-1.

References

Show 7 moreShow less
MoveEnter Open