Patchwire CVEs, their patch status, and feeds to follow them

CVE-2025-59734

Fixed in a distro release EPSS <1%CVSS 8.7

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.

Published 2025-10-06 · CVE record · OSV

Products: FFMPEG

Distro releases

ReleasePackageFixed in
Chainguardeco-python-ffmpeg-7-minimalno fix
Chainguardeco-python-ffmpeg-7-minimal-devno fix
Chainguardeco-python-ffmpeg-7-minimal-staticno fix
Chainguardffmpeg-7no fix
Chainguardffmpeg-7-dev7.1.2-r0
Chainguardffmpeg-7-doc7.1.2-r0
Chainguardffmpeg-7-libavcodec617.1.2-r0
Chainguardffmpeg-7-libavdevice617.1.2-r0
Chainguardffmpeg-7-libavfilter107.1.2-r0
Chainguardffmpeg-7-libavformat617.1.2-r0
Chainguardffmpeg-7-libavutil597.1.2-r0
Chainguardffmpeg-7-libpostproc587.1.2-r0
Chainguardffmpeg-7-libswresample57.1.2-r0
Chainguardffmpeg-7-libswscale87.1.2-r0
Chainguardffmpeg-7-qt-faststart7.1.2-r0
Chainguardffmpeg-7-static7.1.2-r0
Chainguardffmpeg-7.1no fix
Chainguardffmpeg-7.1-dev7.1.2-r0
Chainguardffmpeg-7.1-doc7.1.2-r0
Chainguardffmpeg-7.1-libavcodec617.1.2-r0
Chainguardffmpeg-7.1-libavdevice617.1.2-r0
Chainguardffmpeg-7.1-libavfilter107.1.2-r0
Chainguardffmpeg-7.1-libavformat617.1.2-r0
Chainguardffmpeg-7.1-libavutil597.1.2-r0
Chainguardffmpeg-7.1-libpostproc587.1.2-r0
Chainguardffmpeg-7.1-libswresample57.1.2-r0
Chainguardffmpeg-7.1-libswscale87.1.2-r0
Chainguardffmpeg-7.1-qt-faststart7.1.2-r0
Chainguardffmpeg-7.1-static7.1.2-r0
Chainguardffmpeg-fips-7.10
Chainguardffmpeg-fips-7.1-dev0
Chainguardffmpeg-fips-7.1-libavcodec610
Chainguardffmpeg-fips-7.1-libavdevice610
Chainguardffmpeg-fips-7.1-libavfilter100
Chainguardffmpeg-fips-7.1-libavformat610
Chainguardffmpeg-fips-7.1-libavutil590
Chainguardffmpeg-fips-7.1-libpostproc580
Chainguardffmpeg-fips-7.1-libswresample50
Chainguardffmpeg-fips-7.1-libswscale80
Chainguardffmpeg-fips-7.1-static0
Debian 11ffmpegno fix
Debian 12ffmpegno fix
Debian 13ffmpegno fix
Debian 14ffmpegno fix
Ubuntu 22.04 LTSffmpegno fix
Ubuntu 24.04 LTSffmpegno fix
Ubuntu 25.10ffmpegno fix
Ubuntu Pro 14.04 LTSlibavno fix
Ubuntu Pro 16.04 LTSffmpegno fix
Ubuntu Pro 18.04 LTSffmpegno fix
Ubuntu Pro 20.04 LTSffmpegno fix
Wolfiffmpeg-7no fix
Wolfiffmpeg-7-dev7.1.2-r0
Wolfiffmpeg-7-doc7.1.2-r0
Wolfiffmpeg-7-libavcodec617.1.2-r0
Wolfiffmpeg-7-libavdevice617.1.2-r0
Wolfiffmpeg-7-libavfilter107.1.2-r0
Wolfiffmpeg-7-libavformat617.1.2-r0
Wolfiffmpeg-7-libavutil597.1.2-r0
Wolfiffmpeg-7-libpostproc587.1.2-r0
Wolfiffmpeg-7-libswresample57.1.2-r0
Wolfiffmpeg-7-libswscale87.1.2-r0
Wolfiffmpeg-7-qt-faststart7.1.2-r0
Wolfiffmpeg-7-static7.1.2-r0
Wolfiffmpeg-7.1no fix
Wolfiffmpeg-7.1-dev7.1.2-r0
Wolfiffmpeg-7.1-doc7.1.2-r0
Wolfiffmpeg-7.1-libavcodec617.1.2-r0
Wolfiffmpeg-7.1-libavdevice617.1.2-r0
Wolfiffmpeg-7.1-libavfilter107.1.2-r0
Wolfiffmpeg-7.1-libavformat617.1.2-r0
Wolfiffmpeg-7.1-libavutil597.1.2-r0
Wolfiffmpeg-7.1-libpostproc587.1.2-r0
Wolfiffmpeg-7.1-libswresample57.1.2-r0
Wolfiffmpeg-7.1-libswscale87.1.2-r0
Wolfiffmpeg-7.1-qt-faststart7.1.2-r0
Wolfiffmpeg-7.1-static7.1.2-r0