{"id":"UBUNTU-CVE-2017-12601","details":"OpenCV (Open Source Computer Vision Library) through 3.3 has a buffer overflow in the cv::BmpDecoder::readData function in modules/imgcodecs/src/grfmt_bmp.cpp when reading an image file by using cv::imread, as demonstrated by the 4-buf-overflow-readData-memcpy test case.","modified":"2026-04-22T12:01:15.745085Z","published":"2017-08-07T01:29:00Z","upstream":["CVE-2017-12601"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2017-12601"},{"type":"REPORT","url":"https://github.com/opencv/opencv/issues/9309"},{"type":"REPORT","url":"https://github.com/xiaoqx/pocs/blob/master/opencv.md"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2017-12601"}],"affected":[{"package":{"name":"opencv","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/opencv@2.4.9.1+dfsg-1.5ubuntu1.1?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.4.9.1+dfsg-1.5ubuntu1.1"}]}],"versions":["2.4.9+dfsg-1ubuntu6","2.4.9.1+dfsg-1.2ubuntu1","2.4.9.1+dfsg-1.3ubuntu1","2.4.9.1+dfsg-1.5ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"libcv2.4","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libcvaux2.4","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libhighgui2.4","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-calib3d2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-contrib2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-core2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-features2d2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-flann2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-gpu2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-highgui2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-imgproc2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-legacy2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-ml2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-objdetect2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-ocl2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-photo2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-stitching2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-superres2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-ts2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-video2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv-videostab2.4v5","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv2.4-java","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"libopencv2.4-jni","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"opencv-data","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"},{"binary_name":"python-opencv","binary_version":"2.4.9.1+dfsg-1.5ubuntu1.1"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-12601.json"}},{"package":{"name":"opencv","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/opencv@3.2.0+dfsg-4ubuntu0.1?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.0+dfsg-4ubuntu0.1"}]}],"versions":["3.1.0+dfsg1-1~exp1ubuntu3","3.2.0+dfsg-3","3.2.0+dfsg-4","3.2.0+dfsg-4build1","3.2.0+dfsg-4build2"],"ecosystem_specific":{"binaries":[{"binary_name":"libopencv-calib3d3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-contrib3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-core3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-features2d3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-flann3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-highgui3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-imgcodecs3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-imgproc3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-ml3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-objdetect3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-photo3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-shape3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-stitching3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-superres3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-video3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-videoio3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-videostab3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv-viz3.2","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv3.2-java","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"libopencv3.2-jni","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"opencv-data","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"python-opencv","binary_version":"3.2.0+dfsg-4ubuntu0.1"},{"binary_name":"python3-opencv","binary_version":"3.2.0+dfsg-4ubuntu0.1"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-12601.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"},{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}