iccDEV Undefined Behavior Vulnerability in CIccTagSpectralViewingConditions()
Vulnerability
A vulnerability causing undefined behavior has been identified in the iccDEV library, specifically in the function CIccTagSpectralViewingConditions(). This issue affects versions of iccDEV prior to 2.3.1.2 and can lead to runtime errors when processing ICC color profiles. The vulnerability arises from improper handling of spectral viewing condition tags, which can result in invalid data being used in calculations, potentially causing division by zero errors.
Impact
Exploitation of this vulnerability leads to undefined behavior, with the potential for runtime errors such as division by zero, which can cause program crashes or unpredictable behavior.
Reproduction
The vulnerability can be reproduced by building the iccDEV library with AddressSanitizer and UndefinedBehaviorSanitizer enabled. After compiling the library, the issue can be triggered by using a specific ICC profile that contains spectral viewing conditions. The function 'iccRoundTrip' can be used to process the profile, which will result in a runtime error indicating that a 'NaN' value is being converted to an integer, violating the range of representable values.
Remediation
Users can upgrade to iccDEV version 2.3.1.2 or later, where this vulnerability has been patched.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
