A heap-based buffer overflow issue was discovered in libjpeg-turbo in h2v2_merged_upsample_internal() function of jdmrgext.c file. The vulnerability can only be exploited with 12-bit data precision for which the range of the sample data type exceeds the valid sample range, hence, an attacker could craft a 12-bit lossless JPEG image that contains out-of-range 12-bit samples. An application attempting to decompress such image using merged upsampling would lead to segmentation fault or buffer overflows, causing an application to crash.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/675 | patch issue tracking exploit |
https://bugzilla.redhat.com/show_bug.cgi?id=2208447 | patch issue tracking |
https://access.redhat.com/security/cve/CVE-2023-2804 | third party advisory |
https://github.com/libjpeg-turbo/libjpeg-turbo/commit/9f756bc67a84d4566bf74a0c2432aa55da404021 | patch |
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/668#issuecomment-1492586118 | patch issue tracking exploit |
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01006.html |