CVE-2019-16249: Out-of-bounds Read in OpenCV
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.38714%
CWE
Published
10/12/2021
Updated
2/1/2023
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
opencv-python | pip | <= 4.1.1.26 | 4.1.2.30 |
opencv-python-headless | pip | <= 4.1.1.26 | 4.1.2.30 |
opencv-contrib-python | pip | <= 4.1.1.26 | 4.1.2.30 |
opencv-contrib-python-headless | pip | <= 4.1.1.26 | 4.1.2.30 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the interaction between computeSSDMeanNorm and v_load:
- computeSSDMeanNorm uses a macro that miscalculates the I1_ptr buffer offset, passing a pointer to the last 12 bytes of a 400-byte region.
- v_load then attempts to read 16 bytes from this pointer, causing a 4-byte over-read.
- The GitHub issue stack trace and Red Hat analysis confirm this call chain. The fix in #15531 explicitly replaces v_load with v_load_expand (which reads 8 bytes) in the affected macro, addressing the root cause.