GHSA-px68-xx5g-48q5 - dcmjs: DS/IS VALUE REPRESENTATION INPUT VALIDATION BYPASS
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
LOW
Severity & confidence
Source severitylow
Platform severitylow
Confidencemedium
Exploitationunknown
CVSS-
Affected
Vendorsdcmjs
Productsdcmjs
Reporting sources (1)
GitHub Security Advisories
Timeline & provenance
Published2026-10-27T13:29:57
Last updated2026-10-28T19:42:00
Ingested2026-10-27T13:40:37
FreshnessNEAR-REAL-TIME
Threat typeadvisory
Recommended action
Review the advisory and upgrade affected packages to the first patched version.
Next steps
- Identify affected systems in your environment.
- Apply the vendor patch or mitigation guidance.
- Review logs for indicators described in the advisory.
- Follow the affected vendor/product to track updates.
Confidence explanation
Reported by a single or secondary source; treat as indicative, verify before acting.
Source type: vendor ยท Original: GitHub Security Advisories