dcmjs: DS/IS VALUE REPRESENTATION INPUT VALIDATION BYPASS
CVSS Skor
—
EPSS İhtimal
—
Risk Skoru
—
Yayın
3 sa önce
Resmî kaynaklarda yeterli kanıt bulunamadı. Bu sonuç “yama yok” anlamına gelmez.
Envanterimdeki Etkisi
Yalnızca hesabınıza eklediğiniz kişisel ürünler değerlendirilir; kurumsal envanter burada görünmez.
Oturum kontrol ediliyor…
Zafiyet Açıklaması
DayBreach AI Açıklaması
Kaynakla doğrulandıOkunan kaynak
1
Kaynak uyumu
Tam uyum
Kanıt güveni
%53
Kısa açıklama
CVE-2026-46350, web tabanlı tıbbi görüntüleme yazılımlarında kullanılan dcmjs kütüphanesinin DecimalString ve IntegerString sınıflarında bir girdi doğrulama atlatma açığı barındırdığını belirtir. Zafiyet, uygunsuz girdi doğrulamasından kaynaklanmaktadır ve < 0.52.0 sürümlerini etkiler.
Bu açık, OHIF Viewer ve Cornerstone.js ekosistemi gibi dcmjs kütüphanesini kullanan downstream uygulamalarda bütünlük ve kullanılabilirlik sorunlarına yol açabilecek Infinity veya NaN enjeksiyonlarına zemin hazırlayabilir.
Ne yapılmalı?
- Vendor danışma belgelerini takip edin
- Etkilenen kütüphane sürümünü güncelleyin
- Girdi doğrulama mekanizmalarını gözden geçirin
Kaynaklar bazı teknik koşulları sınırlı ayrıntıyla sunuyor. Uygulama kararından önce aşağıdaki kanıt zincirini inceleyin.
Kanıt zinciri ve kaynaklar
CVE-2026-46350, dcmjs kütüphanesinin < 0.52.0 sürümlerini etkileyen bir girdi doğrulama atlatma açığıdır.
Kök neden, ValueRepresentation.js dosyasındaki düzenli ifadenin bilimsel gösterimi muhafaza etmesidir.
Kaynaklardaki teknik metni göster
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 /[^0-9.\\\-+e]/gi strips characters NOT in the set {0-9, ., \, -, +, e, E}. This provides partial defense: direct "NaN" and "Infinity" strings are stripped to empty/null. However: (a) Scientific notation is fully preserved because 'e', digits, '+', '-', '.' all pass the regex. "1e999999" passes intact, and Number("1e999999") returns JavaScript Infinity. (b) The string "-inf" is stripped to just "-" (only the minus passes the regex). Number("-") returns JavaScript NaN. (c) IntegerString uses the SAME regex/logic as DecimalString, meaning IS accepts scientific notation ("1e5" -> 100000) in violation of PS3.5 Section 6.2, which restricts IS to characters 0-9, +, -. (d) No range validation exists for IS values (PS3.5 requires [-2^31, 2^31-1]) or DS values (16-character max, fixed/floating-point only). VULNERABILITY DETAILS ===================== Attack Vector 1: Infinity via Scientific Notation Overflow ---------------------------------------------------------- Input: DS or IS field containing "1e999999" Regex: Passes (all chars in allowed set) Result: Number("1e999999") -> Infinity Impact: Infinity propagates through all downstream arithmetic Attack Vector 2: Negative Infinity via Scientific Notation ---------------------------------------------------------- Input: DS or IS field containing "-1e999999" Regex: Passes Result: Number("-1e999999") -> -Infinity Impact: Negative Infinity in spatial/dosimetric calculations Attack Vector 3: NaN via Sign-Only Remnant ------------------------------------------ Input: DS or IS field containing "-inf" Regex: Strips to "-" Result: Number("-") -> NaN Impact: NaN propagates silently through arithmetic (IEEE 754) Attack Vector 4: NaN via Plus-Only Remnant ------------------------------------------ Input: DS or IS field containing "+inf" Regex: Strips to "+" Result: Number("+") -> NaN Impact: Same as above Attack Vector 5: IS Scientific Notation Bypass ----------------------------------------------- Input: IS field containing "1e5" Regex: Passes Result: Number("1e5") -> 100000 Impact: Integer fields accept non-integer representation, violating PS3.5 Attack Vector 6: IS Extreme Overflow ------------------------------------- Input: IS field containing "1e18" Regex: Passes Result: Number("1e18") -> 1000000000000000000 Impact: Far exceeds IS range [-2^31, 2^31-1], no bounds check CLINICAL IMPACT =============== dcmjs is used in web-based DICOM viewers and processing pipelines. Corrupted values affect: - PixelSpacing / ImagePositionPatient: Spatial geometry corruption prevents accurate measurement and registration in web viewers - WindowCenter / WindowWidth: Display pipeline corruption makes images unreadable (all black or all white) - DoseGridScaling / NumberOfFrames: Radiation therapy dose display errors and denial of service via frame count overflow - RescaleSlope / RescaleIntercept: Hounsfield unit conversion produces invalid values, corrupting quantitative analysis - SliceThickness: Volume reconstruction fails in multiplanar reformats
CWE: CWE-20
Açıklama kaynak kayıtlardan otomatik derlendi. Puanlar, aktif sömürü, yama ve exploit durumları doğrudan kaynaklardan gelir.
IMPACT — Etkilenen Ürünler ve Yazılımlar
Affected Products
The following products are affected by CVE-2026-46350 vulnerability. Even if our threat engine is aware of the exact versions of the products that are affected, the information is represented below.
| ID | VENDOR | PRODUCT | ACTION |
|---|---|---|---|
| 1 | npm | dcmjs | İncele |
RED HAT CSAF/VEX — Ürün Etki Kontrolü
SCORING — CVSS Çoklu Kaynak Skoru
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and display CVSS scores from various sources for each CVE.
| SCORE | VERSION | SEVERITY | VECTOR | SOURCE |
|---|---|---|---|---|
| 0.0 | CVSS 4.0 | — | Vektör yayımlanmadı | GitHub Advisory |
Yama ve İyileştirme Rehberi (Solution)
Solution & Remediation Advisory
İncelenen resmî kaynaklarda yama durumu doğrulanamadı. Bu sonuç “yama yok” anlamına gelmez.
Public exploit ve aktif sömürü durumu
Doğrulanmış exploit istihbaratı
Bu CVE için henüz doğrulanmış public PoC, exploit repository’si veya Metasploit modülü bulunamadı.
Zafiyet Dağılımı ve Saldırı Kalıpları (CWE & CAPEC)
CWE - Common Weakness Enumeration
While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-46350 is associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-46350 weaknesses.
Resmi Kaynaklar ve Danışma Bültenleri
İlgili Benzer Açıklar
Bu açığı API ile alın
Etkilenen ürünler, sürüm aralıkları, istismar durumu ve yama bilgisi tek istekte; ücretsiz anahtarla.
curl -H "x-api-key: $DAYBREACH_API_KEY" \ "https://api.daybreach.dev/api/v1/intel/cves/CVE-2026-46350"