Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-59734— Heap-buffer-overflow write in FFmpeg SANM process_ftch

EPSS 0.02% · P6
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-59734

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Heap-buffer-overflow write in FFmpeg SANM process_ftch
Source: NVD (National Vulnerability Database)
Vulnerability Description
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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
释放后使用
Source: NVD (National Vulnerability Database)
Vulnerability Title
Apache Subversion 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Apache Subversion是美国阿帕奇(Apache)基金会的一套开源的版本控制系统。该系统可兼容并发版本系统(CVS)。 Apache Subversion 2之前版本存在安全漏洞,该漏洞源于SANM解码过程中存在释放后重用,可能导致内存损坏。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
FFmpegFFmpeg 4d7c609be37dc57d31527c8c9e5945dc9491a7cd ~ 8.0 -

II. Public POCs for CVE-2025-59734

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-59734

登录查看更多情报信息。

Same Patch Batch · FFmpeg · 2025-10-06 · 7 CVEs total

CVE-2025-59733Heap-buffer-overflow write in FFmpeg EXR dwa_uncompress
CVE-2025-59728Heap-buffer-overflow write in FFmpeg MDASH resolve_content_path
CVE-2025-59731Heap-buffer-overflow write in FFmpeg EXR dwa_uncompress
CVE-2025-59730Heap-buffer-overflow write in FFmpeg SANM decoding due to lack of bounds-checking in old_c
CVE-2025-59732Heap-buffer-overflow write in FFmpeg EXR dwa_uncompress
CVE-2025-59729Heap-buffer-overflow read in FFmpeg DHAV get_duration

IV. Related Vulnerabilities

V. Comments for CVE-2025-59734

No comments yet


Leave a comment