OESA-2026-3286 (CVE-2025-59732)
Vulnerability from osv_openeuler – Published: 2026-08-07 02:43 – Updated: 2026-08-07 02:43 – Source websiteFFmpeg is a complete and free Internet live audio and video broadcasting solution for Linux/Unix. It also includes a digital VCR. It can encode in real time in many formats including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
Security Fix(es):
When decoding an OpenEXR file that uses DWAA or DWAB compression, there's an implicit assumption that the height and width are divisible by 8.
If the height or width of the image is not divisible by 8, the copy loops at [0] and [1] will continue to write until the next multiple of 8.
The buffer td->uncompressed_data is allocated in decode_block based on the precise height and width of the image, so the "rounded-up" multiple of 8 in the copy loop can exceed the buffer bounds, and the write block starting at [2] can corrupt following heap memory.
We recommend upgrading to version 8.0 or beyond.(CVE-2025-59732)
When decoding an OpenEXR file that uses DWAA or DWAB compression, there's an implicit assumption that all image channels have the same pixel type (and size), and that if there are four channels, the first four are "B", "G", "R" and "A". The channel parsing code can be found in decode_header. The buffer td->uncompressed_data is allocated in decode_block based on the xsize, ysize and computed current_channel_offset.
The function dwa_uncompress then assumes at [5] that if there are 4 channels, these are "B", "G", "R" and "A", and in the calculations at [6] and [7] that all channels are of the same type, which matches the type of the main color channels.
If we set the main color channels to a 4-byte type and add duplicate or unknown channels of the 2-byte EXR_HALF type, then the addition at [7] will increment the pointer by 4-bytes * xsize * nb_channels, which will exceed the allocated buffer.
We recommend upgrading to version 8.0 or beyond.(CVE-2025-59733)
A heap-buffer-overflow write exists in jpeg2000dec FFmpeg which allows an attacker to potentially gain remote code execution or cause denial of service via the channel definition cdef atom of JPEG2000.(CVE-2025-9951)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"ffmpeg-6.1.1-40.oe2403sp4.aarch64.rpm",
"ffmpeg-debuginfo-6.1.1-40.oe2403sp4.aarch64.rpm",
"ffmpeg-debugsource-6.1.1-40.oe2403sp4.aarch64.rpm",
"ffmpeg-devel-6.1.1-40.oe2403sp4.aarch64.rpm",
"ffmpeg-libs-6.1.1-40.oe2403sp4.aarch64.rpm",
"libavdevice-6.1.1-40.oe2403sp4.aarch64.rpm"
],
"src": [
"ffmpeg-6.1.1-40.oe2403sp4.src.rpm"
],
"x86_64": [
"ffmpeg-6.1.1-40.oe2403sp4.x86_64.rpm",
"ffmpeg-debuginfo-6.1.1-40.oe2403sp4.x86_64.rpm",
"ffmpeg-debugsource-6.1.1-40.oe2403sp4.x86_64.rpm",
"ffmpeg-devel-6.1.1-40.oe2403sp4.x86_64.rpm",
"ffmpeg-libs-6.1.1-40.oe2403sp4.x86_64.rpm",
"libavdevice-6.1.1-40.oe2403sp4.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:24.03-LTS-SP4",
"name": "ffmpeg",
"purl": "pkg:rpm/openEuler/ffmpeg\u0026distro=openEuler-24.03-LTS-SP4"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "6.1.1-40.oe2403sp4"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "High"
},
"details": "FFmpeg is a complete and free Internet live audio and video broadcasting solution for Linux/Unix. It also includes a digital VCR. It can encode in real time in many formats including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.\r\n\r\nSecurity Fix(es):\n\nWhen decoding an OpenEXR file that uses DWAA or DWAB compression, there\u0026apos;s an implicit assumption that the height and width are divisible by 8.\n\nIf the height or width of the image is not divisible by 8, the copy loops at [0] and [1] will continue to write until the next multiple of 8.\n\nThe buffer td-\u0026gt;uncompressed_data\u00a0is allocated in decode_block\u00a0based on the precise height and width of the image, so the \u0026quot;rounded-up\u0026quot; multiple of 8 in the copy loop can exceed the buffer bounds, and the write block starting at [2] can corrupt following heap memory.\n\n\n\nWe recommend upgrading to version 8.0 or beyond.(CVE-2025-59732)\n\nWhen decoding an OpenEXR file that uses DWAA or DWAB compression, there\u0026apos;s an implicit assumption that all image channels have the same pixel type (and size), and that if there are four channels, the first four are \u0026quot;B\u0026quot;, \u0026quot;G\u0026quot;, \u0026quot;R\u0026quot;\u00a0and \u0026quot;A\u0026quot;. The channel parsing code can be found in decode_header.\u00a0The buffer td-\u0026gt;uncompressed_data\u00a0is allocated in decode_block\u00a0based on the xsize, ysize\u00a0and computed current_channel_offset.\n\nThe function dwa_uncompress\u00a0then assumes at [5] that if there are 4 channels, these are \u0026quot;B\u0026quot;, \u0026quot;G\u0026quot;, \u0026quot;R\u0026quot;\u00a0and \u0026quot;A\u0026quot;, and in the calculations at [6] and [7] that all channels are of the same type, which matches the type of the main color channels.\n\nIf we set the main color channels to a 4-byte type and add duplicate or unknown channels of the 2-byte EXR_HALF\u00a0type, then the addition at [7] will increment the pointer by 4-bytes * xsize * nb_channels, which will exceed the allocated buffer.\n\n\n\n\n\nWe recommend upgrading to version 8.0 or beyond.(CVE-2025-59733)\n\nA heap-buffer-overflow write exists in jpeg2000dec FFmpeg which allows an attacker to potentially gain remote code execution or cause denial of service via the channel definition cdef atom of JPEG2000.(CVE-2025-9951)",
"id": "OESA-2026-3286",
"modified": "2026-08-07T02:43:41Z",
"published": "2026-08-07T02:43:41Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3286"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-59732"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-59733"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-9951"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:4.0/AV:A/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N",
"type": "CVSS_V4"
}
],
"summary": "ffmpeg security update",
"upstream": [
"CVE-2025-59732",
"CVE-2025-59733",
"CVE-2025-9951"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.