In opencv/modules/imgcodecs/src/utils.cpp, functions FillUniColor and FillUniGray do not check the input length, which can lead to integer overflow. If the image is from remote, may lead to remote code execution or denial of service. This affects Opencv 3.3 and earlier.
The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Link | Tags |
---|---|
https://lists.debian.org/debian-lts-announce/2018/07/msg00030.html | third party advisory mailing list |
https://github.com/blendin/pocs/blob/master/opencv/0.OOB_Write_FillUniColor | third party advisory exploit |
https://lists.debian.org/debian-lts-announce/2018/01/msg00008.html | third party advisory mailing list |
https://github.com/opencv/opencv/issues/9723 | issue tracking exploit third party advisory |
https://lists.debian.org/debian-lts-announce/2021/10/msg00028.html | third party advisory mailing list |