{"id":"CVE-2026-46350","published":"2026-11-05T21:18:50.110","lastModified":"2026-11-05T21:18:50.110","description":"dcmjs is a JavaScript implementation of DICOM manipulation. Prior to 0.52.0, the DecimalString and IntegerString implementations in src/ValueRepresentation.js sanitize text with a permissive regular expression and pass the result to JavaScript's Number constructor without validating finiteness or the DICOM value-representation rules. Scientific notation overflow in a DS or IS field can produce positive or negative Infinity, while stripping alphabetic characters from signed infinity text can leave a sign-only string that converts to NaN. IntegerString also accepts exponent notation and values outside the DICOM signed 32-bit IS range. Applications that trust these parsed values can propagate invalid numbers into spatial geometry, display windowing, dose scaling, frame counts, rescaling, or volume reconstruction, causing incorrect calculations or disrupted processing. This issue is fixed in version 0.52.0.","cvssScore":9.1,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","cwes":["CWE-20","CWE-1284"],"vendors":[],"products":[],"references":[{"url":"https://github.com/dcmjs-org/dcmjs/commit/81e7e11cdefb56aa1a65bfe259648b865583ff88","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/pull/497","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/releases/tag/v0.52.0","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/security/advisories/GHSA-px68-xx5g-48q5","tags":[]}],"exploitRefs":[{"url":"https://github.com/dcmjs-org/dcmjs/commit/81e7e11cdefb56aa1a65bfe259648b865583ff88","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/pull/497","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/releases/tag/v0.52.0","tags":[]},{"url":"https://github.com/dcmjs-org/dcmjs/security/advisories/GHSA-px68-xx5g-48q5","tags":[]}],"hasPoc":true,"ai":{"summary":"The dcmjs library's DecimalString and IntegerString parsers incorrectly handle malformed DICOM numeric fields by passing unvalidated strings to JavaScript's Number constructor, allowing scientific notation overflow or sign-only strings to produce Infinity or NaN values that can corrupt downstream medical imaging calculations.","exploitability":"Remote exploitation is trivial for attackers who can inject maliciously crafted DS or IS DICOM values (e.g., via networked DICOM services or file uploads) without authentication or user interaction.","blast_radius":"Affected medical imaging systems may produce incorrect spatial geometry, dose calculations, or frame counts, potentially leading to misdiagnosis, unsafe radiation delivery, or processing failures in radiotherapy or diagnostic workflows.","remediation":"Upgrade dcmjs to version 0.52.0 or later, which fixes the permissive parsing and adds proper DICOM value-representation validation.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["input-validation","medical-imaging","infinity-nan","dicom"],"model":"garnet-coder","analyzedAt":"2026-11-06T09:46:31.162Z"}}