Read the docs
TI-2025-37186 Aliases CVE-2025-59734GHSA-g9mr-r3g9-6594

Heap-buffer-overflow write in FFmpeg SANM process_ftch

Priority LOW 39CWE-416Published · Updated

Key facts

Attack vector
Adjacent network
Privileges required
None
User interaction
Passive
Attack complexity
High
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-416 and the CVSS impact.

Summary

It is possible to cause an use-after-free write in SANM decoding with a carefully crafted animation using subversion <2. When a STOR chunk is present, a subsequent FOBJ chunk will be saved in ctx->stored_frame. Stored frames can later be referenced by FTCH chunks. For files using subversion < 2, the undecoded frame is stored, and decoded again when the FTCH chunks are parsed. However, in process_frame_obj if the frame has an invalid size, there’s an early return, with a value of 0.  This causes the code in decode_frame to still store the raw frame buffer into ctx->stored_frame. Leaving ctx->has_dimensions set to false. A subsequent chunk with type FTCH would call process_ftch and decode that frame obj again, adding to the top/left values and calling process_frame_obj again. Given that we never set ctx->have_dimensions before, this time we set the dimensions, calling init_buffers, which can reallocate the buffer in ctx->stored_frame, freeing the previous one. However, the GetByteContext object gb still holds a reference to the old buffer. Finally, when the code tries to decode the frame, codecs that accept a GetByteContext as a parameter will trigger a use-after-free read when using gb. GetByteContext is only used for reading bytes, so at most one could read invalid data. There are no heap allocations between the free and when the object is accessed. However, upon returning to process_ftch, the code restores the original values for top/left in stored_frame, writing 4 bytes to the freed data at offset 6, potentially corrupting the allocator’s metadata. This issue can be triggered just by probing whether a file has the sanm format. We recommend upgrading to version 8.0 or beyond.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0018 7th percentileScored 2026-11-07
Fix Fixed FFmpeg (FFmpeg): 8.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
FFmpegFFmpeg4d7c609be37dc57d31527c8c9e5945dc9491a7cd to before 8.0; 7.1.1 to before 8.08.0Patch availableCNA
  • FFmpeg VendorFFmpeg Affected 4d7c609be37dc57d31527c8c9e5945dc9491a7cd to before 8.0; 7.1.1 to before 8.0 Fixed in 8.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:*——FFmpeg
  • cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:* Versions — — ·FFmpeg

Remediation

  • Fix · CNA FFmpeg (FFmpeg) Fixed in 8.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    FFmpeg 8.0

    6 records Highest priority Priority LOW 6 LOW

    Other records, highest priority first

    • TI-2025-37185 Heap-buffer-overflow write in FFmpeg EXR dwa_uncompressPriority LOW 39
    • TI-2025-37184 Heap-buffer-overflow write in FFmpeg EXR dwa_uncompressPriority LOW 39
    • TI-2025-37183 Heap-buffer-overflow write in FFmpeg EXR dwa_uncompressPriority LOW 32

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-59734
  2. 2026-10-03 Alias added: GHSA-g9mr-r3g9-6594

References

  • TI-2025-19015 FFmpeg git-master before commit d5873b was discovered to contain a memory leak in the component libavutil/iamf.c. CVSS 3.1HIGH 8.8
  • TI-2024-21238 FFmpeg 7.0 contains a heap-buffer-overflow at libavfilter/vf_tiltandshift.c:189:5 in copy_column. CVSS 3.1HIGH 8.4
  • TI-2023-06050 Ffmpeg: null pointer dereference in ffmpeg hls parsing CVSS 3.1HIGH 7.5
  • TI-2023-28420 Buffer Overflow vulnerability in Ffmpeg v.N113007-g8d24a28d06 allows a local attacker to… CVSS 3.1HIGH 8.0
  • TI-2023-27357 FFmpeg v.n6.1-3-g466799d4f5 allows a heap-based buffer overflow via the… CVSS 3.1HIGH 8.0
  • TI-2023-27044 Buffer Overflow vulnerability in FFmpeg version n6.1-3-g466799d4f5, allows a local… CVSS 3.1HIGH 8.0
See all 538 →

Sources