CVE-2026-46350
dcmjs, a JavaScript library for DICOM manipulation used in web-based medical imaging viewers, contains an input validation bypass in its handling of DS (Decimal String) and IS (Integer String) value representations. The DecimalString and IntegerString classes in ValueRepresentation.js use a regex sanitizer followed by JavaScript's Number() constructor. While the regex strips direct NaN/Infinity strings, it preserves scientific notation (including the 'e' character), enabling: 1. Infinity injection via scientific notation overflow (1e999999) 2. NaN injection via sign-only remnants from stripped inf strings ("-inf" -> "-") 3. IS accepting scientific notation in violation of PS3.5 AFFECTED PRODUCT ================ Product: dcmjs (JavaScript DICOM manipulation library) Repository: https://github.com/dcmjs-org/dcmjs npm: https://www.npmjs.com/package/dcmjs Affected Versions: < 0.52.0 (patched in 0.52.0, released 2026-05-19) CVE: CVE-2026-46350 (assigned by GitHub 2026-05-13) CWE: CWE-20 (Improper Input Validation) CVSS Score: 7.5 (HIGH) CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H Maintainer note: The CVSS score above is the reporter's assessment; dcmjs rates this low, because malformed input produces NaN/Infinity in values the caller must range-check in any case (both are reachable by other means, and no trust boundary enforced by dcmjs is crossed). DOWNSTREAM IMPACT ================= dcmjs is a foundational library used by: - OHIF Viewer (Open Health Imaging Foundation) - Cornerstone.js ecosystem - DICOMweb client/server implementations - Research and clinical web-based PACS viewers - Any Node.js or browser application parsing DICOM via dcmjs ROOT CAUSE ========== In src/ValueRepresentation.js, both DecimalString and IntegerString use: let returnVal = numberStr.trim().replace(/[^0-9.\\\-+e]/gi, ""); return returnVal === "" ? null : Number(returnVal); The regex
Properties
- Ghsa id
- GHSA-px68-xx5g-48q5
- Severity
- low
- Summary
- dcmjs: DS/IS VALUE REPRESENTATION INPUT VALIDATION BYPASS
- Last source
- GitHub Advisory Database
- Cve id
- CVE-2026-46350
- First seen by Signal
- 2026-10-27T15:31:30+00:00
- Is ghsa only
- false
- Retrieved at
- 2026-10-27T15:31:30+00:00
- Ghsa published
- 2026-10-27T13:29:57Z
- Source url
- https://github.com/advisories/GHSA-px68-xx5g-48q5
- Ghsa updated
- 2026-10-27T13:29:59Z
Related Entities (3)
AFFECTS (1)
HAS_WEAKNESS (1)
VULNERABLE_TO (1)
Explore deeper with Ninja Signal's threat intelligence graph