Debian Patches
Status for dcmtk/3.6.9-5+deb13u3
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 0007-CVE-2024-47796.patch | Fixed issue rendering invalid monochrome image. Fixed issue when rendering an invalid monochrome DICOM image where the number of pixels stored does not match the expected number of pixels. If the stored number is less than the expected number, the rest of the pixel matrix for the intermediate representation was always filled with the value 0. Under certain, very rare conditions, this could result in memory problems reported by an Address Sanitizer (ASAN). Now, the rest of the matrix is filled with the smallest possible value for the image. . Thanks to Emmanuel Tacheau from the Cisco Talos team <vulndiscovery@external.cisco.com> for the original report, the sample file (PoC) and further details. See TALOS-2024-2122 and CVE-2024-47796. |
Joerg Riesmeier <dicom@jriesmeier.com> | yes | debian | 2025-01-18 | |
| 01_dcmtk_3.6.0-1.patch | The original maintainer Jürgen Salk applied a set of patches to the original code. This file contains changes to C++ code |
Jürgen Salk <jsa@debian.org> | not-needed | |||
| 07_dont_export_all_executables.patch | Don't add executables to cmake exports CMake exports are used by other packages that compile and link against dcmtk. Because Debian moves some of these executables and also dosn't install the test executables, this import may fail leading to failure to configure the according package. =================================================================== |
Gert Wollny <gw.fossdev@gmail.com> | not-needed | debian | ||
| remove_version.patch | Remove version =================================================================== |
Mathieu Malaterre <malat@debian.org> | not-needed | debian | 2025-03-21 | |
| 0008-CVE-2024-52333.patch | Added check to make sure: HighBit < BitsAllocated. Added check to the image preprocessing to make sure that the value of HighBit is always less than the value of BitsAllocated. Before, this missing check could lead to memory corruption if an invalid combination of values was retrieved from a malformed DICOM dataset. . Thanks to Emmanuel Tacheau from the Cisco Talos team <vulndiscovery@external.cisco.com> for the report, sample file (PoC) and detailed analysis. See TALOS-2024-2121 and CVE-2024-52333. |
Joerg Riesmeier <dicom@jriesmeier.com> | yes | debian | 2025-01-18 | |
| 0009-CVE-2025-25475.patch | commit bffa3e9116abb7038b432443f16b1bd390e80245 Fixed issue with invalid RLE compressed DICOM images. Fixed issue when processing an RLE compressed image where the RLE header contains an invalid stripe size. Thanks to Ding zhengzheng <xiaozheng.ding399@gmail.com> for the report and the sample file (PoC). |
Marco Eichelberg <eichelberg@offis.de> | no | 2025-01-23 | ||
| 0010-CVE-2025-25474.patch | commit 1d205bcd307164c99e0d4bbf412110372658d847 Fixed another issue with invalid DICOM images. Fixed issue when processing an invalid DICOM image where the number of pixels stored does not match the expected number of pixels (too less) and the combination of BitsAllocated and BitsStored is really unusual (e.g. 1 bit stored, but 52 bits allocated). In cases where the last pixel (e.g. a single bit) does not fit into the buffer of the input pixel data, a buffer overflow occurred on the heap. Now, the last entry of the buffer is filled with the smallest possible value (e.g. 0 in case of unsigned data). Thanks to Ding zhengzheng <xiaozheng.ding399@gmail.com> for the report and the sample file (PoC). |
Joerg Riesmeier <dicom@jriesmeier.com> | no | 2025-01-21 | ||
| 0011-CVE-2025-25472.patch | commit 410ffe2019b9db6a8f4036daac742a6f5e4d36c2 Fixed another issue with invalid mono images. Fixed issue when rendering an invalid monochrome DICOM image where the number of pixels stored does not match the expected number of pixels. In this case, only a single pixel is processed, but the pixel matrix is much larger. Filling the rest of the pixel matrix with the smallest possible value for the image is not working because of an optimized memory usage (value would be out of range). Now, the pixel value to be used is double-checked before it is actually filled into the "background" of the image. Thanks to Ding zhengzheng <xiaozheng.ding399@gmail.com> for the report and the sample file (PoC). diff --git a/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h b/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h index 50389a540..f67967310 100644 |
Joerg Riesmeier <dicom@jriesmeier.com> | no | 2025-01-17 | ||
| 0012-CVE-2025-2357.patch | Fixed segfault in JPEG-LS decoder. Fixed segfault in JPEG-LS decoder. Fixed a bug in the JPEG-LS decoder that led to a segmentation fault if invalid input data was processed, due to insufficient validation of input data. Thanks to Ding zhengzheng <xiaozheng.ding399@gmail.com> for the report and the sample file (PoC). This closes DCMTK issue #1155. |
Marco Eichelberg <eichelberg@offis.de> | no | 2025-03-03 | ||
| 0013-CVE-2025-9732.patch | commit 7ad81d69b19714936e18ea5fc74edaeb9f021ce7 Fixed issue with invalid "YBR_FULL" DICOM images. Fixed an issue when processing an invalid DICOM image with a Photometric Interpretation of "YBR_FULL" and a Planar Configuration of "1" where the number of pixels stored does not match the expected number of pixels (much too less). Now, the pixel data of such an image is not processed at all, but an empty image (black pixels) is created instead. The user is warned about this by an appropriate log message. Thanks to Ding zhengzheng <xiaozheng.ding399@gmail.com> for the report and the sample file (PoC). |
Joerg Riesmeier <dicom@jriesmeier.com> | no | 2025-08-15 | ||
| 0014-CVE-2025-9732b.patch | commit 3de96da6cd66b1af7224561c568bc3de50cd1398 Fixed issue with commit 7ad81d69b. Fixed an issue with recently committed changes that fix a problem with invalid YBR_FULL images diff --git a/dcmimage/include/dcmtk/dcmimage/diybrpxt.h b/dcmimage/include/dcmtk/dcmimage/diybrpxt.h index c5415c149..fdaaafc2d 100644 |
Joerg Riesmeier <dicom@jriesmeier.com> | no | 2025-08-18 | ||
| 0015-CVE-2025-14607.patch | commit 4c0e5c10079392c594d6a7abd95dd78ac0aa556a Fixed bug in handling of odd-length data elements. When a dataset containing an illegal odd-length attribute with a text VR was read from file or received over a network connection, then accessing the value of that attribute with DcmElement::getString() may return a pointer to a string that was not properly null terminated. Using C string functions such as strlen() or strcpy() on that string then lead to a read beyond the end of a string, causing a segmentation fault. Thanks to Zou Dikai <zoudikai@outlook.com> for the bug report and POC. This closes DCMTK issue #1184. |
Marco Eichelberg <eichelberg@offis.de> | no | 2025-12-02 | ||
| 0016-CVE-2026-5663.patch | commit edbb085e45788dccaf0e64d71534cfca925784b8 Sanitize all strings passed to the exec options. Sanitize the text fields from incoming DICOM associations and DICOM objects (such as Study Instance UID, SOP Instance UID, Patient's Name) and the calling SCU's network presentation address by removing special characters that may be interpreted as shell escape characters when one of the execution options (e.g. --exec-on-reception) is in use. Thanks to Machine Spirits UG (haftungsbeschränkt) for the bug report, detailed analysis and proof of concept. This closes DCMTK issue #1194. |
Marco Eichelberg <eichelberg@offis.de> | no | 2026-03-21 | ||
| 0017-CVE-2025-14841.patch | commit ffb1a4a37d2c876e3feeb31df4930f2aed7fa030 Fixed two possible segfaults in dcmqrscp. Fixed two places where invalid messages may trigger a segmentation fault due to a NULL pointer being de-referenced. Thanks to 邹 迪凯 <zoudikai@outlook.com> for the bug report and proof-of-concept. |
Marco Eichelberg <eichelberg@offis.de> | no | 2025-11-28 | ||
| 0018-CVE-2026-10194.patch | commit 0f78a4ef6f645ea5530166e445e5436a5de58e75 Fixed remote heap buffer overflow in dcmqrscp. Thanks to 'elp3pinill0' for the bug report, detailed analysis, proof of concept and proposed fix. This closes DCMTK issue #1206. |
Marco Eichelberg <eichelberg@offis.de> | no | 2026-05-04 | ||
| 0019-CVE-2026-12805.patch | commit 1d4b3815c0987840a983160bfc671fef63a3105b Fixed buffer overflow in XMLNode::parseFile(). Fixed a heap buffer overflow that could occur in the XML parser when reading from a named pipe. Thanks to Cristhian Daniel Rivas Zúñiga and Sebastian Andres Muñoz Morera (Insituto Tecnológico de Costa Rica) for the bug report and fix. This closes DCMTK issue #1208. |
Marco Eichelberg <eichelberg@offis.de> | no | 2026-05-23 | ||
| 0020-CVE-2026-50003.patch | Fixed path traversal in DcmSCU bit-pres. C-GET. In DCMSCU_STORAGE_BIT_PRESERVING mode, the C-STORE sub-operation handler in handleCGETSession() built the on-disk filename from the peer-supplied AffectedSOPInstanceUID without sanitization, allowing a malicious C-STORE SCP to write files outside the configured storage directory via path-separator or "../" sequences in the UID. . The DISK mode path was already sanitized (via createStorageFilename(), fixed in commit f06a86751 for CVE-2022-2120); this branch was missed. The fix mirrors the same pattern (sanitize a local OFString copy) so the request struct stays intact and the C-STORE response still echoes the peer's original UID per protocol. . Affects all consumers of DcmSCU using DCMSCU_STORAGE_BIT_PRESERVING, including getscu --bit-preserving. . This fixes DCMTK issue #1207. . Thanks to Abhinav Agarwal for the report and analysis. |
Michael Onken <onken@open-connections.de> | no | debian | 2026-05-12 | |
| 0021-CVE-2026-50254.patch | Fix extNegList leaks on A-ASSOCIATE parse failure. Thanks for the report and analysis to Abhinav Agarwal. . This closes DCMTK feature #126. |
Michael Onken <onken@open-connections.de> | no | debian | 2026-05-26 | |
| 0022-CVE-2026-35505.patch | Fix A-ASSOCIATE-RQ/AC error-path leaks in DUL FSM. AE_3_AssociateConfirmationAccept and AE_6_ExamineAssociateRequest leaked the whole parsed PDU graph (presentation contexts, transfer syntax sub-chains, role list, user info) on error returns taken after parseAssociate() succeeded, since only the success path freed it. For an SCP this is remotely triggerable and accumulates per connection. . Free the parsed PDU before each such return; translatePresentationContextList() also frees the proposed transfer syntax list of a rejected context. Add a dcmnet regression test (tassocleak.cc) driving the AE_6 zero-transfer-syntax path against an in-process DcmSCP; leak-clean with the fix under DCMTK_WITH_SANITIZERS. . Thanks for the report and analysis to Abhinav Agarwal. . This closes DCMTK issue #1217. |
Michael Onken <onken@open-connections.de> | no | debian | 2026-05-29 | |
| 0023-CVE-2026-52868.patch | commit e3878daf870cd2db50eadfde38615f0afae8a584 Fix path traversal in wlmscpfs through Called AET. The wlmscpfs SCP appended the Called Application Entity Title received in the A-ASSOCIATE-RQ directly onto the configured worklist data file path and used the existence of the resulting directory as an access control decision. Because DICOM VR AE permits the characters "/", "\" and ".", a peer could send a 16-byte AE title such as "../secret/VICTIM" and have wlmscpfs serve worklist records from a sibling directory of the configured root. With option --request-file-path enabled, the same AE title (and the Patient ID) was substituted into the output filename template without sanitization, producing an arbitrary-location write primitive outside the configured request file directory. This commit closes both holes: - wlmscpfs now rejects any A-ASSOCIATE-RQ whose Called AE title is not safe to use as a single filesystem path component, refusing the association with WLM_BAD_AE_SERVICE. The validation is implemented in the new static method WlmFileSystemInteractionManager::IsValidAETitle\ ForFilesystem, which rejects empty or over-long titles, any title containing a dot, and delegates the remaining character check to OFStandard::sanitizeAETitle (sanitize-and-compare). - The placeholder substitution in storeRequestToFile now passes each substituted value (#a, #c, #p) through OFStandard::sanitizeAETitle before insertion, and additionally sanitizes the final filename, so that any path separator surviving the substitution is defanged. Supporting changes: - Promote storescp's private sanitizeAETitle helper into the public OFStandard::sanitizeAETitle, with documentation noting that the function is also used by wlmscpfs to validate filesystem path components (so widening the allow list has downstream effects). - Replace storescp's local copy of the helper with the new public one. - Add a forward declaration of DcmSequenceOfItems in wlfsim.h that was previously missing (existing callers happened to include dctk.h first). - Document the new behaviour in the wlmscpfs man page. Tests: - New ofstd_OFStandard_sanitizeAETitle test covers the lifted helper (path separators, NUL, control bytes, high-range bytes, shell metacharacters, the quotation-mark preservation behaviour, and empty/length-1 edge cases). - New dcmwlm_aetitle_validation test covers the validator directly with every path-traversal payload from the bug report ("../secret/\ VICTIM", "../CARDIOLOGY", "..", ".", "..\secret"), dotted variants ("MY.AE", "foo..bar", ".foo", "foo."), structural rejections (empty, 17 bytes, embedded NUL, tab, 0xFF), shell metacharacters, and a row of legitimate AE titles that must still be accepted. - dcmwlm previously had no OFTEST scaffolding; tests.cc has been added along with the corresponding CMakeLists.txt and Makefile.in entries. Thanks to Abhinav Agarwal for the report. |
Michael Onken <onken@open-connections.de> | no | 2026-05-19 | ||
| 0024-CVE-2026-44628a.patch | Fix wlmscpfs crash on VR-spoofed seq. attributes. wldsfs.cc cast findAndGetElement() results to DcmSequenceOfItems* without checking the VR. A C-FIND with a dictionary-SQ tag declared under a non-SQ wire VR (Explicit VR) thus dispatched through the wrong vtable and crashes the SCP (see also CVE-2024-28130 in dcmpstat). . Use findAndGetSequence(), which validates the VR. Also guard getItem(0) against an empty ScheduledProcedureStepSequence and drop a bogus cast. . Thanks for the report and analysis to Abhinav Agarwal. . This closes DCMTK issue #1218. |
Michael Onken <onken@open-connections.de> | no | debian | 2026-05-29 | |
| 0025-CVE-2026-44628b.patch | Fix VR-spoofed sequence cast crash in wlfsim, too. Apply the same findAndGetSequence() fix to the unchecked casts in DatasetIsComplete() and ReferencedStudyOrPatientSequenceIsAbsent...() as in f4e0074. diff --git a/dcmwlm/libsrc/wlfsim.cc b/dcmwlm/libsrc/wlfsim.cc index 40a93c4eb..8543f795a 100644 |
Michael Onken <onken@open-connections.de> | no | debian | 2026-05-29 |
All known versions for source package 'dcmtk'
- 3.7.0+really3.7.0-7 (sid, forky)
- 3.6.9-5+deb13u3 (trixie)
- 3.6.7-9~deb12u4 (bookworm)
