{"id":"CVE-2026-5445","aliases":["DEBIAN-CVE-2026-5445","EUVD-2026-20926","GHSA-g69c-6pfv-54p9","UBUNTU-CVE-2026-5445"],"status":"published","title":"Out-of-Bounds Read in DicomImageDecoder (DecodeLookupTable)","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-09","score":0.00678,"percentile":0.52575,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2026-04-09T14:42:51Z","modified":"2026-10-27T09:47:40Z","fixes":[{"ecosystem":"Debian:14","package":"orthanc","fixed_in":["1.12.10+dfsg-4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.1+dfsg-2","1.10.1+dfsg-2+deb12u1","1.12.1+dfsg-1","1.12.1+dfsg-2","1.12.1+dfsg-3","1.12.1+dfsg-4","1.12.10+dfsg-1","1.12.10+dfsg-2","1.12.10+dfsg-3","1.12.10+dfsg-4","1.12.10+dfsg-5","1.12.11+dfsg-1","1.12.11+dfsg-2","1.12.11+dfsg-3","1.12.11+dfsg-4","1.12.11+dfsg-5","1.12.11+dfsg-6","1.12.11+dfsg-7","1.12.11+dfsg-8","1.12.2+dfsg-1","1.12.3+dfsg-1","1.12.3+dfsg-2","1.12.4+dfsg-1","1.12.4+dfsg-2","1.12.4+dfsg-3","1.12.4+dfsg-4","1.12.5+dfsg-1","1.12.5+dfsg-2","1.12.6+dfsg-1","1.12.7+dfsg-1","1.12.7+dfsg-2","1.12.7+dfsg-3","1.12.7+dfsg-4","1.12.9+dfsg-1","1.12.9+dfsg-2","1.13.0+dfsg-1"]},{"source":"osv","ecosystem":"Debian:13","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.12.10+dfsg-1","1.12.10+dfsg-2","1.12.10+dfsg-3","1.12.10+dfsg-4","1.12.10+dfsg-5","1.12.11+dfsg-1","1.12.11+dfsg-2","1.12.11+dfsg-3","1.12.11+dfsg-4","1.12.11+dfsg-5","1.12.11+dfsg-6","1.12.11+dfsg-7","1.12.11+dfsg-8","1.12.7+dfsg-4","1.12.9+dfsg-1","1.12.9+dfsg-2","1.13.0+dfsg-1"]},{"source":"osv","ecosystem":"Debian:14","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.10+dfsg-4"}]}],"versions":["1.12.10+dfsg-1","1.12.10+dfsg-2","1.12.10+dfsg-3","1.12.7+dfsg-4","1.12.9+dfsg-1","1.12.9+dfsg-2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.4+dfsg-1","0.9.4+dfsg-2","0.9.5+dfsg-1","1.0.0+dfsg-1","1.0.0+dfsg-1build1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0+dfsg-1build1","1.3.0+dfsg-1build2","1.3.1+dfsg-1","1.3.1+dfsg-1build1","1.3.1+dfsg-1build2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.7+dfsg-2","1.5.8+dfsg-2","1.5.8+dfsg-2ubuntu2","1.5.8+dfsg-2ubuntu3","1.5.8+dfsg-2ubuntu4","1.5.8+dfsg-2ubuntu5","1.5.8+dfsg-2ubuntu6"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.9.2+really1.9.1+dfsg-1","1.9.7+dfsg-3ubuntu1","1.9.7+dfsg-3ubuntu2","1.9.7+dfsg-4","1.9.7+dfsg-5","1.9.7+dfsg-6","1.10.0+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.12.1+dfsg-3","1.12.1+dfsg-4","1.12.1+dfsg-4build1","1.12.2+dfsg-1","1.12.2+dfsg-1build3","1.12.2+dfsg-1build4"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.12.6+dfsg-1","1.12.7+dfsg-4","1.12.7+dfsg-4build2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.12.10+dfsg-2","1.12.11+dfsg-8","1.12.11+dfsg-8build1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"orthanc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.12.7+dfsg-4build2","1.12.9+dfsg-2","1.12.10+dfsg-1","1.12.10+dfsg-1build1","1.12.10+dfsg-2"]}],"products":[{"vendor":"orthanc","product":"dicom server"},{"vendor":"orthanc-server","product":"orthanc"}],"references":[{"url":"https://www.orthanc-server.com/","tags":["Product","report"]},{"url":"https://www.machinespirits.de/","tags":["Not Applicable","report"]},{"url":"https://kb.cert.org/vuls/id/536588","tags":["Third Party Advisory","VDB Entry","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-5445"},{"url":"https://www.machinespirits.de"},{"url":"https://www.orthanc-server.com"},{"url":"https://github.com/advisories/GHSA-g69c-6pfv-54p9"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-5445","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-5445","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-5445","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-5445","title":"Out-of-Bounds Read in DicomImageDecoder (DecodeLookupTable)","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T14:42:51.673Z","modified":"2026-04-14T16:34:52.024Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"adp"}],"updated_at":"2026-11-02T13:39:27.849196Z"}],"euvd":[{"id":"EUVD-2026-20926","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T14:42:51Z","modified":"2026-04-14T16:34:52Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T19:24:25.607055Z"}],"ghsa":[{"id":"GHSA-g69c-6pfv-54p9","title":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within ...","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T15:35:08Z","modified":"2026-04-14T21:31:44Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:07:30.088478Z"}],"nvd":[{"id":"CVE-2026-5445","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T15:16:16.863Z","modified":"2026-10-26T21:10:00.17Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:12:13.902911Z"}],"osv":[{"id":"DEBIAN-CVE-2026-5445","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T15:16:16.863Z","modified":"2026-10-27T09:47:40.835432319Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:57.236551Z"},{"id":"UBUNTU-CVE-2026-5445","description":"An out-of-bounds read vulnerability exists in the `DecodeLookupTable` function within `DicomImageDecoder.cpp`. The lookup-table decoding logic used for `PALETTE COLOR` images does not validate pixel indices against the lookup table size. Crafted images containing indices larger than the palette size cause the decoder to read beyond allocated lookup table memory and expose heap contents in the output image.","status":"published","published":"2026-04-09T15:16:00Z","modified":"2026-10-17T12:59:04.804319265Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T16:56:41.382716Z"}]}}
