Katalog CVE

CVE-2026-44034

ŚrednieCVSS 4.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W bibliotece OFFIS DCMTK 3.7.0 funkcja DcmRLECodecDecoder::decodeFrame() w pliku dcmdata/libsrc/dcrleccd.cc zawiera błąd odczytu poza granicami bufora na stercie. Przy przetwarzaniu spreparowanego pliku DICOM RLE Lossless, którego fragment danych pikseli jest krótszy niż 64-bajtowy nagłówek RLE, funkcja kopiuje 64 bajty bez sprawdzenia długości fragmentu, co pozwala odczytać do 63 bajtów sąsiedniej pamięci sterty lub spowodować awarię.

Ocena ryzyka

Aplikacje dekodujące obrazy RLE klatka po klatce (np. przez DcmPixelData::getUncompressedFrame()) mogą zostać zmuszone do ujawnienia fragmentów pamięci lub awarii, co stanowi ryzyko wycieku danych i odmowy usługi. Narzędzie dcmdrle korzysta z funkcji decode() i nie jest podatne.

Rekomendacja

Zaktualizuj OFFIS DCMTK do wersji zawierającej poprawkę z commita 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d. Do czasu aktualizacji unikaj dekodowania niezaufanych plików RLE DICOM w aplikacjach korzystających z decodeFrame().

Inne podatności w OFFIS DCMTK

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

A heap-based out-of-bounds read in DcmRLECodecDecoder::decodeFrame() in dcmdata/libsrc/dcrleccd.cc of OFFIS DCMTK 3.7.0 allows an attacker to read up to 63 bytes of adjacent heap memory, or cause a crash, via a crafted RLE Lossless DICOM file whose pixel data fragment is shorter than the 64-byte RLE header. The function copies 64 bytes without checking the fragment length, a check that the sibling function decode() already performs. Applications that decode RLE images frame by frame (for example, through DcmPixelData::getUncompressedFrame()) are affected. The dcmdrle command-line tool uses decode() and is not affected. The issue is fixed in commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS