Přehled
Toto oznámení se týká známé bezpečnostní chyby zjištěné v komponentě třetí strany používané v rámci DPGW. Na rozdíl od většiny oznámení v tomto sledovacím systému se v tomto případě nejedná o integrovanou závislost jazyka Java, ale o externí binární soubor 7-Zip, který DPGW spouští na hostitelském počítači/v kontejneru za účelem rozbalení archivů nahraných uživateli.
Podrobnosti o zranitelnosti
- CVE ID: CVE-2026-14266
- Název závislosti: 7-Zip (systémový binární soubor 7z / 7zip; nainstalován do kontejneru DPGW příkazem
dnf install 7zipz repozitáře EPEL) - Ovlivněná verze závislosti: 7-Zip 21.07 – 26.01 (opraveno ve verzi 26.02)
- Skóre závažnosti: ZDI/CNA 7.0 High (CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H)
Dotčené verze DPGW
- <= 1.14.08-REL (balíček obsahuje binární soubor 7zip a používá jej k importu archivů)
- <= 1.13.29-REL (balíček obsahuje binární soubor 7zip a používá jej k importu archivů)
Větve 1.12 a 1.11 neobsahují funkci rozbalování archivů založenou na 7-Zipu (chybí SevenZipExtractor, ImportInput7Zip a parametr @sevenzip-command) a ve svých kontejnerových obrazech nemají zabalený binární soubor 7zip. Tyto větve nejsou touto změnou dotčeny.
Posouzení rizik a použitelnosti
Použití
DPGW využívá externí binární soubor 7-Zip k rozbalení archivů nahraných uživateli během importu DICOM. Nahrávací koncový bod /private/dicom-import (DicomImportServlet) přijímá archivy ve formátech zip, 7z, rar a iso (včetně těch chráněných heslem); je-li nastaven globální parametr @sevenzip-command (výchozí hodnota 7z), spustí SevenZipExtractor binární program příkazem 7z x -y -o
[-p] (ProcessBuilder) a obsah archivu je extrahován na straně serveru. Binární program je poskytován hostitelským systémem — ve standardním obrazu kontejneru se instaluje příkazem dnf install -y … 7zip (z EPEL); v nasazeních na fyzickém hardwaru operátor nainstaluje balíček 7zip pro daný operační systém (zdokumentováno v příručce Release Notes).
Analýza
CVE-2026-14266 je chyba přetečení vyrovnávací paměti v kódu pro dekompresi formátu XZ v programu 7-Zip. Když program 7-Zip dekóduje speciálně upravená data komprimovaná formátem XZ, dojde k poškození vyrovnávací paměti a může dojít ke spuštění libovolného kódu v kontextu procesu provádějícího extrakci. Tato zranitelnost se spouští pouhým rozbalením škodlivého archivu – kromě samotné dekomprese není zapotřebí žádná samostatná konfigurace ani zapnutí žádné funkce. Postihuje všechny verze programu 7-Zip od 21.07 až po 26.01 a je opravena ve verzi 26.02.
DPGW využívá přesně tuto cestu kódu: volá systémový binární soubor 7-Zip k extrakci obsahu archivu dodaného uživatelem. Útočník, který má přístup k funkci importu DICOM, může proto odeslat speciálně upravený archiv, který způsobí spuštění kódu pod účtem služby DPGW (uid 1000 uvnitř kontejneru).
Útok je omezen autorizačním modelem DPGW. Koncový bod /private/dicom-import vyžaduje ověřeného uživatele s rolí ROLE_LOCDATA_IMPORT spolu s jednou z podrolí pro import (ROLE_LOCDATA_IMPORT_ARCHIVE, ROLE_LOCDATA_USER_READ nebo ROLE_LOCDATA_STATION_READ). Anonymně není přístupný. Jakmile však oprávněný uživatel (nebo odcizená/padělaná relace takového uživatele) nahraje archiv, extrakce proběhne automaticky na straně serveru bez další interakce, takže praktickým scénářem je zlovolný nebo kompromitovaný oprávněný uživatel, případně oprávněný uživatel, který byl podveden k importu archivu poskytnutého útočníkem.
Stav
Ovlivněno
Skóre závažnosti v kontextu DPGW: 7.5 High CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Základní skóre ZDI vychází ze scénáře na stolním počítači (oběť otevře lokální škodlivý soubor: AV:L, PR:N, UI:R). V případě DPGW je situace odlišná: užitečné zatížení je doručeno přes síť prostřednictvím ověřeného nahrání (AV:N), útočník musí mít oprávnění k importu (PR:L) a extrakce se spouští automaticky na straně serveru bez samostatné interakce oběti (UI:N). Složitost útoku zůstává vysoká (AC:H), protože spolehlivé zneužití přetečení oblasti paměti (heap overflow) je obtížné, a dopad zůstává High/High/High, protože úspěšné zneužití vede ke spuštění kódu pod účtem služby DPGW.
Dopad na DPGW
Úspěšné zneužití by umožnilo ověřenému uživateli s oprávněními k importu DICOM dosáhnout vzdáleného spuštění kódu jako účet služby DPGW uvnitř kontejneru prostřednictvím nahrání speciálně upraveného archivu. To by mohlo vést k:
- spuštění libovolného kódu v kontextu procesu DPGW (uid 1000);
- přístup pro čtení a zápis k úložišti a datům, ke kterým má přístup účet služby DPGW;
- v závislosti na konfiguraci může dojít k laterálnímu pohybu nebo kompromitaci služby.
Nasazení, která neudělují importní role nedůvěryhodným uživatelům a která zajišťují, že webová vrstva je přístupná pouze z důvěryhodných sítí, vykazují odpovídající snížení rizika – avšak jakýkoli oprávněný importér, který se dostane k danému koncovému bodu, může spustit zranitelnou část kódu.
Náprava a zmírnění dopadů
Plánovaná oprava
Tento problém lze vyřešit aktualizací externího binárního souboru 7-Zip na verzi 26.02 nebo novější; není nutná žádná změna v kódu DPGW v Javě. Pro standardní obraz kontejneru to znamená překompilovat obraz DPGW, jakmile základní repozitáře (EPEL) poskytnou 7-Zip 26.02+, aby příkaz dnf install 7zip stáhl opravený binární soubor. Tato změna bude začleněna do udržovaných větví 1.13 a 1.14 v rámci rutinní údržby obrazů.
- Větev 1.14 — přepracovaný obraz obsahující balíček 7-Zip 26.02+
- Větev 1.13 — přepracovaný obraz obsahující balíček 7-Zip 26.02+
Akce uživatele
- Nasazení v kontejnerech: proveďte aktualizaci na obraz DPGW sestavený s programem 7-Zip verze 26.02 nebo novější. Správci mohou zkontrolovat verzi v balíčku spuštěním příkazu 7z (nebo zkontrolováním hodnoty proměnné @sevenzip-command) uvnitř kontejneru a ověřením, zda je zobrazená verze 26.02 nebo novější.
- Nasazení na fyzických serverech: aktualizujte balíček programu 7-Zip v operačním systému hostitelského počítače na verzi 26.02 nebo novější.
- Dočasné řešení: omezte role pro import DICOM (ROLE_LOCDATA_IMPORT a podrole pro import) pouze na důvěryhodné uživatele a/nebo zrušte nastavení globálního parametru @sevenzip-command, čímž zakážete rozbalování archivů na straně serveru, dokud nebude binární soubor opraven (tím se zakáže import archivů 7z/rar/iso a archivů chráněných heslem).