conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
970 stars 1.78k forks source link

[dcmtk] Backport fixes for CVEs and data corruption bug #26008

Closed cschreib-ibex closed 7 hours ago

cschreib-ibex commented 3 days ago

Summary

Changes to recipe: dcmtk/3.6.7 and dcmtk/3.6.8

Motivation

This PR proposes to backport two sets of fixes from upstream:

Details

The CVEs being patched cause a SEGFAULT (denial of service) when a malformed request is sent to a C-Store SCP. I was able to reproduce this on versions 3.6.7 and 3.6.8 on Linux platforms, but not on Windows. The fix commit was made in March this year, but no new release has been issued since, so all available versions on the Conan center are affected.

The other issue is caused by buggy code in the character set conversion code of the new oficonv implementation. This "pass-through" feature makes conversion a no-op when converting between identical source and target character sets (e.g. source is UTF-8 and target is also UTF-8). This was introduced in 3.6.8, when oficonv was added and enabled as default conversion implementation. Unfortunately this pass-through feature is buggy, and causes data corruption when the data to be converted is more than 1024 characters long. The fix commit (from January this year, to be released in 3.6.9) disables the pass-through feature by default and adds a toggle to re-enable it if needed. This was not done to fix the actual bug; the feature was actually unwanted, since it bypassed important data consistency checks. It is expected that a complete fix will follow, but I don't expect the pass-through feature to be enabled by default again.

None of these patches will need applying to the next version 3.6.9. An alternative solution is to wait for 3.6.9 to be released, and then remove 3.6.7 and 3.6.8 from the Conan center. I don't know when that next version will be released though; 3.6.8 is now almost a year old.


CLAassistant commented 3 days ago

CLA assistant check
All committers have signed the CLA.