{"schemaVersion":3,"id":"CVE-2026-21689","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"iccDEV provides a set of libraries and tools that allow for the interaction, manipulation, and application of International Color Consortium (ICC) color management profiles. Versions prior to 2.3.1.2 have a Type Confusion vulnerability in `CIccProfileXml::ParseBasic()` at `IccXML/IccLibXML/IccProfileXml.cpp`. This vulnerability affects users of the iccDEV library who process ICC color profiles. Version 2.3.1.2 contains a patch. No known workarounds are available.","dates":{"published":"2026-01-07T21:46:12.392Z","modified":"2026-01-08T14:46:02.908Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00326,"percentile":0.24481,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0.006999999999999975,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.00319},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00326,"percentile":0.24481}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00319,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00326,"percentile":0.24481}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_INTERNATIONALCOLORCONSORTIUM_ICCDEV","name":"Iccdev","source":"github","url":"https://github.com/InternationalColorConsortium/iccDEV/issues/340","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-20","name":"Improper Input Validation","description":"The product receives input or data, but it does\n        not validate or incorrectly validates that the input has the\n        properties that are required to process the data safely and\n        correctly.","type":"weakness","status":"Stable","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/20.html"},{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"},{"id":"CWE-232","name":"Improper Handling of Undefined Values","description":"The product does not handle or incorrectly handles when a value is not defined or supported for the associated parameter, field, or argument name.","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/232.html"},{"id":"CWE-476","name":"NULL Pointer Dereference","description":"The product dereferences a pointer that it expects to be valid but is NULL.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/476.html"},{"id":"CWE-690","name":"Unchecked Return Value to NULL Pointer Dereference","description":"The product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference.","type":"weakness","status":"Draft","abstraction":"Compound","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/690.html"},{"id":"CWE-754","name":"Improper Check for Unusual or Exceptional Conditions","description":"The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/754.html"},{"id":"CWE-843","name":"Access of Resource Using Incompatible Type ('Type Confusion')","description":"The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/843.html"}],"affected":[{"vendor":"color","product":"iccdev","name":"iccdev","label":"iccdev","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.3.1.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.3.1.2","eol":null,"hubHref":"/vendor/color/iccdev"},{"vendor":"internationalcolorconsortium","product":"iccdev","name":"iccDEV","label":"iccdev","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.3.1.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.3.1.2","eol":null,"hubHref":"/vendor/internationalcolorconsortium/iccdev"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-5rqc-w93q-589m","label":"github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-5rqc-w93q-589m","hostname":"github.com","tags":["X Refsource CONFIRM","Vendor Advisory"]},{"url":"https://github.com/InternationalColorConsortium/iccDEV/issues/382","label":"github.com/InternationalColorConsortium/iccDEV/issues/382","hostname":"github.com","tags":["X Refsource MISC","Exploit","Issue Tracking","Vendor Advisory"]},{"url":"https://github.com/InternationalColorConsortium/iccDEV/pull/423","label":"github.com/InternationalColorConsortium/iccDEV/pull/423","hostname":"github.com","tags":["X Refsource MISC","Issue Tracking","Patch"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-01-07T21:46:12.392Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-01-08T14:46:02.908Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":36,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T16:11:09.746Z","stale":false,"partial":false}}