FFmpeg MP4 File libavcodec/h264.c ff_h264_free_tables use after free
CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
---|---|---|
5.1 | $0-$5k | 0.00 |
A vulnerability was found in FFmpeg (Multimedia Processing Software) (version unknown) and classified as problematic. Affected by this issue is the function ff_h264_free_tables
of the file libavcodec/h264.c of the component MP4 File Handler. The manipulation with an unknown input leads to a use after free vulnerability. Using CWE to declare the problem leads to CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. Impacted is availability.
The weakness was published 12/17/2014 by Michal Zalewski as avcodec/h264: Clear delayed_pic on deallocation as confirmed git commit (GIT Repository). The advisory is available at github.com. This vulnerability is handled as CVE-2015-3417 since 04/24/2015. The attack may be launched remotely. No form of authentication is required for exploitation. Technical details are known, but there is no available exploit. The following code is the reason for this vulnerability:
if (free_rbsp && h->DPB) { for (i = 0; i < H264_MAX_PICTURE_COUNT; i++) ff_h264_unref_picture(h, &h->DPB[i]); av_freep(&h->DPB); } else if (h->DPB) { for (i = 0; i < H264_MAX_PICTURE_COUNT; i++)
The vulnerability scanner Nessus provides a plugin with the ID 84171 (Debian DSA-3288-1 : libav - security update), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Debian Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 175432 (Debian Security Update for libav (DSA 3288-1)).
Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. A possible mitigation has been published immediately after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:
memset(h->delayed_pic, 0, sizeof(h->delayed_pic));
The vulnerability is also documented in the vulnerability database at Tenable (84171). Similar entry is available at 75955.
Product
Type
Name
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB CVSS-B Score: 🔍VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
AV | AC | Au | C | I | A |
---|---|---|---|---|---|
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
---|---|---|---|---|---|
unlock | unlock | unlock | unlock | unlock | unlock |
unlock | unlock | unlock | unlock | unlock | unlock |
unlock | unlock | unlock | unlock | unlock | unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
ATT&CK: Unknown
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
0-Day | unlock | unlock | unlock | unlock |
---|---|---|---|---|
Today | unlock | unlock | unlock | unlock |
Nessus ID: 84171
Nessus Name: Debian DSA-3288-1 : libav - security update
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
OpenVAS ID: 703288
OpenVAS Name: Debian Security Advisory DSA 3288-1 (libav - security update)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Patch: github.com
Timeline
12/17/2014 🔍12/17/2014 🔍
04/14/2015 🔍
04/14/2015 🔍
04/24/2015 🔍
04/24/2015 🔍
04/25/2015 🔍
04/26/2015 🔍
06/28/2015 🔍
05/09/2022 🔍
Sources
Product: ffmpeg.orgAdvisory: avcodec/h264: Clear delayed_pic on deallocation
Researcher: Michal Zalewski
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2015-3417 (🔍)
OVAL: 🔍
SecurityTracker: 1032198 - FFmpeg Use-After-Free Memory Error in ff_h264_free_tables() Lets Remote Users Deny Service
Vulnerability Center: 50734 - FFmpeg <2.3.6 Remote DoS or Unspecified Impact via Crafted H264 Data in MP4 File, Medium
SecurityFocus: 74385 - FFmpeg 'libavcodec/h264.c' Use After Free Denial of Service Vulnerability
See also: 🔍
Entry
Created: 04/26/2015 19:30Updated: 05/09/2022 17:20
Changes: 04/26/2015 19:30 (73), 07/01/2017 20:00 (10), 05/09/2022 17:12 (3), 05/09/2022 17:20 (1)
Complete: 🔍
No comments yet. Languages: en.
Please log in to comment.