opencv / opencv/opencv-python

Published 4.13.0.92 wheels bundle ffmpeg 5.1.x despite build Dockerfiles specifying 8.0.1

Open
#1,212 3 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.4k
Forks
1k
Avg merge
22h 17m
Merged PRs (30d)
3

Description

Summary

The published PyPI wheels for opencv-python 4.13.0.92 (and opencv-python-headless, opencv-contrib-python) bundle ffmpeg 5.1.x (libavcodec.so.59.37.100), despite the build Dockerfiles in this repository specifying FFMPEG_VERSION=8.0.1 as of commit d098302f (Jan 6, 2026).

This results in 14 unresolved CVEs flagged by vulnerability scanners (grype, etc.) in any Docker image that installs these wheels.

Reproduction

pip download --no-deps \
  --platform manylinux_2_28_aarch64 \
  --python-version 312 --abi cp312 \
  opencv-python-headless==4.13.0.92

unzip -l opencv_python_headless-4.13.0.92-cp37-abi3-manylinux_2_28_aarch64.whl \
  | grep libav

Output:

 11871529  02-05-2026 08:39   opencv_python_headless.libs/libavcodec-5696b3bf.so.59.37.100
  2698441  02-05-2026 08:39   opencv_python_headless.libs/libavformat-bf63de55.so.59.27.100
   869185  02-05-2026 08:39   opencv_python_headless.libs/libavutil-cac768a8.so.57.28.100
   329009  02-05-2026 08:39   opencv_python_headless.libs/libswresample-a12ab15e.so.4.7.100
   656777  02-05-2026 08:39   opencv_python_headless.libs/libswscale-27999517.so.6.7.100

libavcodec.so.59 = ffmpeg 5.1.x. ffmpeg 8.0.1 would be libavcodec.so.61.

Expected

The wheels should bundle ffmpeg 8.0.1 as specified in the build Dockerfiles (docker/manylinux_2_28/Dockerfile_aarch64, docker/manylinux2014/Dockerfile_aarch64, etc.) which were updated in d098302f.

Impact

The following CVEs are present in the bundled ffmpeg 5.1.6 and would be resolved by ffmpeg 8.0.1:

High:

  • CVE-2025-1594
  • CVE-2025-9951
  • CVE-2023-49502
  • CVE-2023-6605
  • CVE-2023-50010
  • CVE-2023-50008
  • CVE-2024-31582

Medium:

  • CVE-2023-6602, CVE-2025-0518, CVE-2025-25469, CVE-2025-25468, CVE-2023-6604, CVE-2025-22919, CVE-2025-59729, CVE-2023-6601, CVE-2025-59730, CVE-2023-50007

Likely Cause

The CI build images used to compile the wheels appear to have been cached/stale and were not rebuilt from the updated Dockerfiles before publishing release 92.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docker/manylinux_2_28/Dockerfile_aarch64 and docker/manylinux2014/Dockerfile_aarch64, then inspect the CI build and release entry points that produce the 4.13.0.92 wheels. Reproduce the listed pip download and unzip checks; done means the published wheel variants contain the FFmpeg version specified by the Dockerfiles rather than libavcodec.so.59.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
build-system, devops, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.