CVE-2025-56225: 
NixOS vulnerability analysis and mitigation

Overview

CVE-2025-56225 is a NULL pointer dereference vulnerability in FluidSynth versions 2.4.6 and earlier, located in fluid_synth_monopoly.c. It can be triggered by loading a specially crafted or invalid MIDI file, causing the application to crash. The vulnerability was reported on July 7, 2025, and published to NVD on January 9, 2026. It carries a CVSS v3.1 base score of 7.5 (High), assessed by CISA-ADP (GitHub Issue, GitHub PR).

Technical details

The root cause (CWE-476: NULL Pointer Dereference) lies in a code path within fluid_synth_noteon_monopoly_legato() in fluid_synth_monopoly.c (line 721), where a channel's preset pointer is not validated before being dereferenced. Specifically, when a MIDI channel is in mono/legato mode and a noteOff event is processed while no preset is assigned to the channel, the function attempts to invoke fluid_preset_noteon(channel->preset, ...) with a NULL channel->preset, triggering a segmentation fault. The vulnerability was discovered through AFL++ fuzz testing on FluidSynth 2.4.6 running on Linux with AddressSanitizer, which produced a SIGSEGV at the dereference site (GitHub Issue, GitHub PR).

Impact

Successful exploitation results in a denial-of-service (DoS) condition, crashing the FluidSynth process. The impact is limited to availability (no confidentiality or integrity loss), but any application or service relying on FluidSynth for MIDI playback or synthesis — including music notation software like MuseScore — would be disrupted. The CVSS vector indicates no authentication or user interaction is required, meaning a remote attacker could trigger the crash by supplying a malformed MIDI file to a network-accessible service using FluidSynth (GitHub Issue).

Exploitability

A proof-of-concept (PoC) exploit in the form of a crafted MIDI file (mid_poc1.mid) was published by the original reporter on the FluidSynth GitHub issue tracker and is publicly available (GitHub Issue). There is no evidence of in-the-wild exploitation at this time, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.018%, reflecting low probability of near-term exploitation. The vulnerability is detectable by Nessus (plugins 282573, 282581, 291319) and Qualys (ID 6274505).

Exploitation steps

  1. Craft or obtain a malicious MIDI file: Create or use the publicly available PoC MIDI file (mid_poc1.mid) that encodes a sequence triggering a noteOff event on a channel in mono/legato mode with no preset assigned.
  2. Identify a target: Locate a service or application that processes MIDI files using FluidSynth 2.4.6 or earlier — this could be a web-based music service, a game server, or a local application like MuseScore.
  3. Deliver the malicious MIDI file: Submit the crafted MIDI file to the target application via any available input mechanism (file upload, network stream, etc.).
  4. Trigger the crash: When FluidSynth processes the MIDI file, the fluid_synth_noteon_monopoly_legato() function dereferences a NULL channel->preset pointer at fluid_synth_monopoly.c:721, causing a SIGSEGV and crashing the process.
  5. Achieve DoS: The FluidSynth process terminates, disrupting any dependent service or application (GitHub Issue).

Indicators of compromise

  • Logs: Application crash logs or core dumps referencing fluid_synth_noteon_monopoly_legato in fluid_synth_monopoly.c at line 721; AddressSanitizer output showing SIGSEGV on address 0x000000000030 (null page read).
  • Process: Unexpected termination of the fluidsynth process or any application embedding FluidSynth (e.g., MuseScore); repeated process restarts in service managers (systemd, etc.).
  • File System: Presence of unexpected or externally supplied MIDI files in directories processed by FluidSynth; core dump files generated by the FluidSynth process.
  • Network: Unusual MIDI file uploads or submissions to services backed by FluidSynth, particularly files with abnormal structure or size (GitHub Issue).

Mitigation and workarounds

The fix was merged into the release/2.4 branch of FluidSynth on July 14, 2025 (commit 45f2a79), which adds a null-check for channel->preset before invoking fluid_preset_noteon() during legato mode noteOff processing. Users should upgrade to a FluidSynth version newer than 2.4.6 that includes this fix. As an interim workaround, restrict MIDI file input to trusted sources, implement file format validation before passing files to FluidSynth, and run FluidSynth with minimal system privileges. Fedora and SUSE have issued updated packages for affected distributions (GitHub PR).

Community reactions

The vulnerability received coverage in Linux security advisory channels, with Fedora issuing updates for MuseScore (which bundles FluidSynth) and SUSE releasing updated FluidSynth packages. Linux security news sites including linuxsecurity.com and pro-linux.de reported on the DoS risk in the context of MuseScore updates. Community reaction has been low-key, consistent with the moderate severity and limited exploitation potential of the vulnerability.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

fluidsynth

Affected

sid

fluidsynth: 2.4.7+dfsg-1

Fixed

trixie

fluidsynth: 2.4.4+dfsg-1+deb13u2

Fixed

Ubuntu

Unknown

bionic (esm-apps)

fluidsynth

Unknown

devel

fluidsynth

Not Affected

focal (esm-apps)

fluidsynth

Unknown

jammy

fluidsynth

Unknown

jammy (esm-apps)

fluidsynth

Unknown

noble

fluidsynth

Unknown

noble (esm-apps)

fluidsynth

Unknown

questing

fluidsynth

Not Affected

Source: This report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-112940HIGH7.1
  • Python logoPython
  • py3-filelock
NoYesOct 20, 2026
CVE-2026-112937MEDIUM6.1
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112936MEDIUM6.1
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112939MEDIUM4.7
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112941LOW3.3
  • Python logoPython
  • filelock
NoYesOct 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management