Use-after-free in FFmpeg - CVE-2024-31578

 

Use-after-free in FFmpeg - CVE-2024-31578

Published: May 9, 2024


Vulnerability identifier: #VU89299
CSH Severity: High
CVSS v4: 8.6 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2024-31578
CWE-ID: CWE-416
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to compromise vulnerable system.

The vulnerability exists due to a use-after-free error within the av_hwframe_ctx_init() function. A remote attacker can pass specially crated input to the application, trigger a use-after-free error and execute arbitrary code on the system.

Successful exploitation of the vulnerability may allow an attacker to compromise vulnerable system.


Affected software

FFmpeg
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise High Performance Computing ESPOS 15
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Desktop 15
SUSE Linux Enterprise Real Time 15
SUSE Linux Enterprise Workstation Extension 15
SUSE Linux Enterprise Micro
Fedora
SUSE Linux Enterprise Server 15 SP4 LTSS
SUSE Linux Enterprise Desktop 15 SP4 LTSS
SUSE Package Hub 15
openSUSE Leap
Ubuntu
libswscale7 (Ubuntu package)
libswresample3 (Ubuntu package)
libpostproc55 (Ubuntu package)
libavutil56 (Ubuntu package)
libavformat58 (Ubuntu package)
libavformat-extra58 (Ubuntu package)
libavformat-extra (Ubuntu package)
libavfilter7 (Ubuntu package)
libavfilter-extra7 (Ubuntu package)
libavdevice58 (Ubuntu package)
libavcodec58 (Ubuntu package)
libavcodec-extra58 (Ubuntu package)
libswscale-ffmpeg3 (Ubuntu package)
libswresample4 (Ubuntu package)
libpostproc57 (Ubuntu package)
libavutil58 (Ubuntu package)
libavformat60 (Ubuntu package)
libavformat-extra60 (Ubuntu package)
libavfilter9 (Ubuntu package)
libavfilter-extra9 (Ubuntu package)
libavdevice60 (Ubuntu package)
libavcodec60 (Ubuntu package)
libavcodec-extra60 (Ubuntu package)
ffmpeg (Ubuntu package)
libavresample4 (Ubuntu package)
libswresample-ffmpeg1 (Ubuntu package)
libpostproc-ffmpeg53 (Ubuntu package)
libavutil-ffmpeg54 (Ubuntu package)
libavresample-ffmpeg2 (Ubuntu package)
libavformat-ffmpeg56 (Ubuntu package)
libavfilter-ffmpeg5 (Ubuntu package)
libavdevice-ffmpeg56 (Ubuntu package)
libavcodec-ffmpeg56 (Ubuntu package)
libavcodec-ffmpeg-extra56 (Ubuntu package)
libswscale4 (Ubuntu package)
libpostproc54 (Ubuntu package)
libavutil55 (Ubuntu package)
libavresample3 (Ubuntu package)
libavformat57 (Ubuntu package)
libavfilter6 (Ubuntu package)
libavfilter-extra6 (Ubuntu package)
libavdevice57 (Ubuntu package)
libavcodec57 (Ubuntu package)
libavcodec-extra57 (Ubuntu package)
libswscale5 (Ubuntu package)
libswresample2 (Ubuntu package)
libswscale5_9-64bit
libswresample3_9-64bit
libavfilter7_110-64bit-debuginfo
libavresample4_0-64bit
libavutil56_70-64bit
libavcodec58_134-64bit-debuginfo
libpostproc55_9-64bit
libpostproc55_9-64bit-debuginfo
libswresample3_9-64bit-debuginfo
libavresample4_0-64bit-debuginfo
ffmpeg-4-debuginfo
ffmpeg-4-libpostproc-devel
ffmpeg-4-libavformat-devel
ffmpeg-4-libswscale-devel
libavfilter7_110-debuginfo
ffmpeg-4
libavdevice58_13-debuginfo
libavresample4_0-debuginfo
libavresample4_0
libavfilter7_110
libpostproc55_9
libavdevice58_13
libavcodec58_134-32bit
libavdevice58_13-32bit
libavutil56_70-32bit
libswscale5_9-32bit
libswscale5_9-32bit-debuginfo
libavfilter7_110-32bit-debuginfo
libavformat58_76-32bit-debuginfo
libpostproc55_9-32bit
libavfilter7_110-32bit
libavutil56_70-debuginfo
ffmpeg-4-debugsource
libswresample3_9
libavutil56_70
libswscale5_9
libavformat58_76-debuginfo
libavcodec58_134
libswscale5_9-debuginfo
libswresample3_9-debuginfo
libavformat58_76
libavfilter7_110-64bit
libavcodec58_134-debuginfo
ffmpeg-4-libavutil-devel
libpostproc55_9-debuginfo
ffmpeg-4-libavfilter-devel
ffmpeg-4-libswresample-devel
ffmpeg-4-private-devel
ffmpeg-4-libavdevice-devel
ffmpeg-4-libavresample-devel
ffmpeg-4-libavcodec-devel
libavutil56_70-32bit-debuginfo
libavutil56_70-64bit-debuginfo
libavformat58_76-64bit-debuginfo
libswscale5_9-64bit-debuginfo
libavdevice58_13-64bit-debuginfo
libavdevice58_13-64bit
libavcodec58_134-64bit
libavformat58_76-64bit
libavresample4_0-32bit
libswresample3_9-32bit
libswresample3_9-32bit-debuginfo
libavresample4_0-32bit-debuginfo
libavformat58_76-32bit
libavcodec58_134-32bit-debuginfo
libpostproc55_9-32bit-debuginfo
libavdevice58_13-32bit-debuginfo
chromium

How to mitigate CVE-2024-31578

Install updates from vendor's website.

libswscale7 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libswresample3 (Ubuntu package) - update to Ubuntu Pro
libpostproc55 (Ubuntu package) - update to Ubuntu Pro
libavutil56 (Ubuntu package) - update to Ubuntu Pro
libavformat58 (Ubuntu package) - update to Ubuntu Pro
libavformat-extra58 (Ubuntu package) - update to Ubuntu Pro
libavformat-extra (Ubuntu package) - update to Ubuntu Pro
libavfilter7 (Ubuntu package) - update to Ubuntu Pro
libavfilter-extra7 (Ubuntu package) - update to Ubuntu Pro
libavdevice58 (Ubuntu package) - update to Ubuntu Pro
libavcodec58 (Ubuntu package) - update to Ubuntu Pro
libavcodec-extra58 (Ubuntu package) - update to Ubuntu Pro
libswscale-ffmpeg3 (Ubuntu package) - update to Ubuntu Pro
libswresample4 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libpostproc57 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavutil58 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavformat60 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavformat-extra60 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavfilter9 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavfilter-extra9 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavdevice60 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavcodec60 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavcodec-extra60 (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
ffmpeg (Ubuntu package) - addressed in versions Ubuntu Pro, 7:6.0-6ubuntu1.1
libavresample4 (Ubuntu package) - update to Ubuntu Pro
libswresample-ffmpeg1 (Ubuntu package) - update to Ubuntu Pro
libpostproc-ffmpeg53 (Ubuntu package) - update to Ubuntu Pro
libavutil-ffmpeg54 (Ubuntu package) - update to Ubuntu Pro
libavresample-ffmpeg2 (Ubuntu package) - update to Ubuntu Pro
libavformat-ffmpeg56 (Ubuntu package) - update to Ubuntu Pro
libavfilter-ffmpeg5 (Ubuntu package) - update to Ubuntu Pro
libavdevice-ffmpeg56 (Ubuntu package) - update to Ubuntu Pro
libavcodec-ffmpeg56 (Ubuntu package) - update to Ubuntu Pro
libavcodec-ffmpeg-extra56 (Ubuntu package) - update to Ubuntu Pro
libswscale4 (Ubuntu package) - update to Ubuntu Pro
libpostproc54 (Ubuntu package) - update to Ubuntu Pro
libavutil55 (Ubuntu package) - update to Ubuntu Pro
libavresample3 (Ubuntu package) - update to Ubuntu Pro
libavformat57 (Ubuntu package) - update to Ubuntu Pro
libavfilter6 (Ubuntu package) - update to Ubuntu Pro
libavfilter-extra6 (Ubuntu package) - update to Ubuntu Pro
libavdevice57 (Ubuntu package) - update to Ubuntu Pro
libavcodec57 (Ubuntu package) - update to Ubuntu Pro
libavcodec-extra57 (Ubuntu package) - update to Ubuntu Pro
libswscale5 (Ubuntu package) - update to Ubuntu Pro
libswresample2 (Ubuntu package) - update to Ubuntu Pro
libswscale5_9-64bit - update to 4.4-150400.3.24.1
libswresample3_9-64bit - update to 4.4-150400.3.24.1
libavfilter7_110-64bit-debuginfo - update to 4.4-150400.3.24.1
libavresample4_0-64bit - update to 4.4-150400.3.24.1
libavutil56_70-64bit - update to 4.4-150400.3.24.1
libavcodec58_134-64bit-debuginfo - update to 4.4-150400.3.24.1
libpostproc55_9-64bit - update to 4.4-150400.3.24.1
libpostproc55_9-64bit-debuginfo - update to 4.4-150400.3.24.1
libswresample3_9-64bit-debuginfo - update to 4.4-150400.3.24.1
libavresample4_0-64bit-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4-libpostproc-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libavformat-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libswscale-devel - update to 4.4-150400.3.24.1
libavfilter7_110-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4 - update to 4.4-150400.3.24.1
libavdevice58_13-debuginfo - update to 4.4-150400.3.24.1
libavresample4_0-debuginfo - update to 4.4-150400.3.24.1
libavresample4_0 - update to 4.4-150400.3.24.1
libavfilter7_110 - update to 4.4-150400.3.24.1
libpostproc55_9 - update to 4.4-150400.3.24.1
libavdevice58_13 - update to 4.4-150400.3.24.1
libavcodec58_134-32bit - update to 4.4-150400.3.24.1
libavdevice58_13-32bit - update to 4.4-150400.3.24.1
libavutil56_70-32bit - update to 4.4-150400.3.24.1
libswscale5_9-32bit - update to 4.4-150400.3.24.1
libswscale5_9-32bit-debuginfo - update to 4.4-150400.3.24.1
libavfilter7_110-32bit-debuginfo - update to 4.4-150400.3.24.1
libavformat58_76-32bit-debuginfo - update to 4.4-150400.3.24.1
libpostproc55_9-32bit - update to 4.4-150400.3.24.1
libavfilter7_110-32bit - update to 4.4-150400.3.24.1
libavutil56_70-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4-debugsource - update to 4.4-150400.3.24.1
libswresample3_9 - update to 4.4-150400.3.24.1
libavutil56_70 - update to 4.4-150400.3.24.1
libswscale5_9 - update to 4.4-150400.3.24.1
libavformat58_76-debuginfo - update to 4.4-150400.3.24.1
libavcodec58_134 - update to 4.4-150400.3.24.1
libswscale5_9-debuginfo - update to 4.4-150400.3.24.1
libswresample3_9-debuginfo - update to 4.4-150400.3.24.1
libavformat58_76 - update to 4.4-150400.3.24.1
libavfilter7_110-64bit - update to 4.4-150400.3.24.1
libavcodec58_134-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4-libavutil-devel - update to 4.4-150400.3.24.1
libpostproc55_9-debuginfo - update to 4.4-150400.3.24.1
ffmpeg-4-libavfilter-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libswresample-devel - update to 4.4-150400.3.24.1
ffmpeg-4-private-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libavdevice-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libavresample-devel - update to 4.4-150400.3.24.1
ffmpeg-4-libavcodec-devel - update to 4.4-150400.3.24.1
libavutil56_70-32bit-debuginfo - update to 4.4-150400.3.24.1
libavutil56_70-64bit-debuginfo - update to 4.4-150400.3.24.1
libavformat58_76-64bit-debuginfo - update to 4.4-150400.3.24.1
libswscale5_9-64bit-debuginfo - update to 4.4-150400.3.24.1
libavdevice58_13-64bit-debuginfo - update to 4.4-150400.3.24.1
libavdevice58_13-64bit - update to 4.4-150400.3.24.1
libavcodec58_134-64bit - update to 4.4-150400.3.24.1
libavformat58_76-64bit - update to 4.4-150400.3.24.1
libavresample4_0-32bit - update to 4.4-150400.3.24.1
libswresample3_9-32bit - update to 4.4-150400.3.24.1
libswresample3_9-32bit-debuginfo - update to 4.4-150400.3.24.1
libavresample4_0-32bit-debuginfo - update to 4.4-150400.3.24.1
libavformat58_76-32bit - update to 4.4-150400.3.24.1
libavcodec58_134-32bit-debuginfo - update to 4.4-150400.3.24.1
libpostproc55_9-32bit-debuginfo - update to 4.4-150400.3.24.1
libavdevice58_13-32bit-debuginfo - update to 4.4-150400.3.24.1
chromium - addressed in versions 124.0.6367.78-1.el9, 124.0.6367.91-1.el9, 124.0.6367.118-1.el9, 124.0.6367.118-2.el8, 124.0.6367.155-1.el8, 124.0.6367.155-1.el9, 124.0.6367.155-1.fc38, 124.0.6367.155-1.fc39, 124.0.6367.155-1.fc40, 124.0.6367.201-1.el8, 124.0.6367.201-1.el9, 124.0.6367.201-1.fc38, 125.0.6422.60-1.el8, 125.0.6422.60-1.el9, 125.0.6422.60-1.fc38, 125.0.6422.76-1.el8, 125.0.6422.76-1.el9

External References

Related Security Bulletins