Cloudanix VulnDB

CVE-2023-51796

Low · 3.6

CVSS

3.6

EPSS

0.2%

Published

Apr 19, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in widely used video software lets someone already logged into the computer run their own programs using the same access the software has.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
High
Impact
Full Compromise
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Buffer overflow in areverse_request_frame at libavfilter/f_reverse.c:269 allows local attackers to overwrite memory and execute arbitrary code with the privileges of the FFmpeg process.

Why it matters to the business

Local compromise of media-processing systems may expose processed files and allow code execution on workstations or servers that handle video or audio content, though low exploitability limits widespread risk.

How an attack unfolds

An authenticated local user supplies a specially crafted input that reaches the reverse filter, triggers the overflow during frame request handling, and gains code execution without network access or elevated privileges.

How to fix it

Upgrade FFmpeg to a patched release that corrects the overflow in f_reverse.c; if immediate upgrade is not feasible, avoid use of the reverse filter on untrusted inputs and compile with modern memory-safety options such as ASAN or hardened allocators.

How to confirm the fix worked

Confirm the installed FFmpeg build no longer contains the vulnerable areverse_request_frame code path by inspecting source or running targeted fuzzing against the reverse filter; verify process memory protections remain intact under crafted inputs.

Typical attack path

  1. Obtain local access to a system running vulnerable FFmpeg
  2. Prepare media input that exercises the areverse filter
  3. Invoke FFmpeg with command-line options that call areverse_request_frame
  4. Trigger the buffer overflow to overwrite return addresses or function pointers
  5. Execute attacker-supplied code within the FFmpeg process context

How to detect it

Review FFmpeg crash logs, core dumps, and audit trails for stack traces referencing f_reverse.c or areverse_request_frame; look for unusual invocations of the reverse filter on production media workflows.

  • areverse_request_frame
  • libavfilter/f_reverse.c:269
  • f_reverse.c

What your security team should do

  • Prioritize upgrade of FFmpeg on any system that processes user-supplied media
  • Restrict local execution of FFmpeg to trusted users and inputs only
  • Monitor EPSS and KEV status for future changes despite current low scores
  • Add the reverse filter to disallowed operations in media-processing pipelines until patched

The record

Buffer Overflow vulnerability in Ffmpeg v.N113007-g8d24a28d06 allows a local attacker to execute arbitrary code via the libavfilter/f_reverse.c:269:26 in areverse_request_frame.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard ffmpeg-6 0 0
Chainguard ffmpeg-6-dev 0 0
Chainguard ffmpeg-6-doc 0 0
Chainguard ffmpeg-6-libavcodec61 0 0
Chainguard ffmpeg-6-libavdevice61 0 0
Chainguard ffmpeg-6-libavfilter10 0 0
Chainguard ffmpeg-6-libavformat61 0 0
Chainguard ffmpeg-6-libavutil59 0 0
Chainguard ffmpeg-6-libpostproc58 0 0
Chainguard ffmpeg-6-libswresample5 0 0
Chainguard ffmpeg-6-libswscale8 0 0
Chainguard ffmpeg-6-qt-faststart 0 0
Chainguard ffmpeg-6-static 0 0
Chainguard ffmpeg-7 0 7.1.3-r2
Chainguard ffmpeg-7.1 0 7.1.3-r1
Chainguard ffmpeg-8.0 0 8.0.1-r2
Debian:13 ffmpeg 0 7:7.0.1-3
Ubuntu:23.10 ffmpeg 0 7:6.0-6ubuntu1.1
Ubuntu:Pro:14.04:LTS libav 0 No fix
Ubuntu:Pro:16.04:LTS ffmpeg 0 7:2.8.17-0ubuntu0.1+esm7
Ubuntu:Pro:18.04:LTS ffmpeg 0 7:3.4.11-0ubuntu0.1+esm5
Ubuntu:Pro:20.04:LTS ffmpeg 0 7:4.2.7-0ubuntu0.1+esm5
Ubuntu:Pro:22.04:LTS ffmpeg 0 7:4.4.2-0ubuntu0.22.04.1+esm4
Ubuntu:Pro:24.04:LTS ffmpeg 0 7:6.1.1-3ubuntu5+esm1
Wolfi ffmpeg-7 0 7.1.3-r2
Wolfi ffmpeg-7.1 0 7.1.3-r1
Wolfi ffmpeg-8.0 0 8.0.1-r2
openSUSE:Tumbleweed ffmpeg-5 0 5.1.4-5.1

Related vulnerabilities