CVE-2026-61723
FluidSynth: DLS ptbl Chunk Integer Overflow
CVE-2026-61723 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.18%, the 8th 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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. 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 ptbl 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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61723- 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-83378
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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
EUVD-2026-83378- 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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61723- 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 ptbl 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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
CVE-2026-61723- 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-61723
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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
DEBIAN-CVE-2026-61723- 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-61723
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 ptbl chunks with the unsigned expression cues * 4 + cbsize without checking whether the multiplication and addition fit in 32 bits. A crafted DLS file can supply a large cues value that wraps the expression and passes the chunk-size check, causing poolcues.resize(cues) to request approximately four gigabytes and the parser to read billions of entries beyond the chunk boundary. The excessive allocation and invalid reads can cause denial of service. Builds with enable-native-dls set to OFF are not exposed. This issue is fixed in version 2.5.6.
- Record
UBUNTU-CVE-2026-61723- 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-r4mc-v3p8-pv47
github.com/FluidSynth/fluidsynth/commit/a2ab32b9c3b9f8845b7254adea73c211f6c5a24c
github.com/FluidSynth/fluidsynth/releases/tag/v2.5.6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61723.json
nvd.nist.gov/vuln/detail/CVE-2026-61723
security-tracker.debian.org/tracker/CVE-2026-61723
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-61722
ubuntu.com/security/CVE-2026-61723
cve.org/CVERecord?id=CVE-2026-61723