В функции DecodeLookupTable внутри DicomImageDecoder.cpp существует уязвимость чтения за пределами границ. Логика декодирования таблицы поиска, используемая для изображений PALETTE COLOR, не проверяет индексы пикселей на соответствие размеру таблицы поиска. Созданные изображения, содержащие индексы, превышающие размер палитры, заставляют декодер читать за пределами выделенной памяти таблицы поиска и отображать содержимое кучи в выходном изображении.
Показать оригинальное описание (EN)
An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.