Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OFFIS | DCMTK | 3.7.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | dcmtk | No fix yet | — |
| Debian 13 | dcmtk | No fix yet | — |
| Debian 12 | dcmtk | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | dcmtk | No fix yet | — |
| Ubuntu 26.04 LTS | dcmtk | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | dcmtk | No fix yet | — |
| Ubuntu Pro 22.04 LTS | dcmtk | No fix yet | — |
| Ubuntu Pro 20.04 LTS | dcmtk | No fix yet | — |
| Ubuntu Pro 18.04 LTS | dcmtk | No fix yet | — |
| Ubuntu Pro 16.04 LTS | dcmtk | No fix yet | — |
References
- DCMTK issue #1213 issue-tracking vendor-advisory
- Fix commit patch