CVE-2026-61722
FluidSynth: DLS Articulation Chunk Integer Overflow
CVE-2026-61722 is a medium vulnerability (CVSS 6.8) 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.20%, the 9th percentile. Fixed in fluidsynth 2.5.6+dfsg-1.
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the 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
- None
- Integrity
- Low
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.8
FluidSynth: DLS Articulation Chunk Integer Overflow
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61722- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Weakness
- CWE-190
- Updated
- 2026-11-02
EUVDEUVD-2026-83377
6.8
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
EUVD-2026-83377- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
NVD
6.8
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61722- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Weakness
- CWE-190
- Updated
- 2026-11-02
OSV
6.8
FluidSynth: DLS Articulation Chunk Integer Overflow
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61722- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Weakness
- CWE-190
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-61722
6.8
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
DEBIAN-CVE-2026-61722- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/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 High
CVSS: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-61722
6.8
FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 2.5.0 until 2.5.6, the native DLS parser validates articulation chunks using the unsigned expression cbsize + connblocks * 12 without first ensuring that the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large connblocks value that wraps the expression and bypasses the chunk-size check, after which the parser performs approximately one billion 12-byte iterations beyond the chunk boundary. The excessive processing and invalid reads can cause denial of service. Builds with the CMake option enable-native-dls set to OFF do not expose the parser. This issue is fixed in version 2.5.6.
- Record
UBUNTU-CVE-2026-61722- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
fluidsynthDebian: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 less2.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 |
fluidsynthopenEuler:24.03-LTS-SP4 |
before 2.5.6-1.oe2403sp4 | 2.5.6-1.oe2403sp4 |
fluidsynthUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.1.6-21.1.6-2ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.1.6-2build11.1.6-31.1.6-3ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.1.6-41.1.8-11.1.8-21.1.8-31.1.9-11.1.9-1ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.1.11-41.1.11-4ubuntu12.1.0-12.1.1-22.1.1-2ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.1.7-1.12.2.4-22.2.5-12.2.5-1ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 2.3.3-2.12.3.4-12.3.4-1build12.3.4-1build22.3.4-1build32.3.4-1ubuntu0.1~esm1 |
None known |
fluidsynthUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 2.4.7+dfsg-22.4.8+dfsg-12.4.8+dfsg-1ubuntu0.1~esm1 |
None known |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-02 | created | CVE List, EUVD, NVD, OSV |
References
github.com/FluidSynth/fluidsynth/security/advisories/GHSA-hp72-35pr-6h6r
github.com/FluidSynth/fluidsynth/commit/4d7084fca7c876f5d738498b4917a39faf603425
github.com/FluidSynth/fluidsynth/releases/tag/v2.5.6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61722.json
nvd.nist.gov/vuln/detail/CVE-2026-61722
security-tracker.debian.org/tracker/CVE-2026-61722
Show 7 moreShow less
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3167
nvd.nist.gov/vuln/detail/CVE-2026-61714
nvd.nist.gov/vuln/detail/CVE-2026-61720
nvd.nist.gov/vuln/detail/CVE-2026-61721
nvd.nist.gov/vuln/detail/CVE-2026-61723
ubuntu.com/security/CVE-2026-61722
cve.org/CVERecord?id=CVE-2026-61722