Container isolieren Anwendungen vom Host, auf dem sie laufen. Hierzu greifen Container-Runtimes auf die Namespace-Technologie des Linux-Kernels zurück [1]. Wie bei der Virtualisierung von ganzen Systemen besteht allerdings auch hier die Gefahr, dass durch einen Softwarefehler ein Ausbruch aus dem Container erfolgt und somit der Zugriff auf das Hostsystem möglich ist. Vor einiger Zeit wurde ein solcher Fehler in der Container-Runtime "runC" bekannt. Angreifer waren dadurch in der Lage, auf dem Hostsystem beliebigen Code mit Root-Rechten auszuführen. Die Schwachstelle erhielt die CVE-Bezeichnung "2019-5736" [2].
Der Fehler war besonders problematisch, da runC standardmäßig sowohl von Docker als auch von Podman verwendet wird. Auf Systemen, die SELinux aktiviert hatten, ließ sich die Schwachstelle allerdings nicht ausnutzen. Die SELinux-Policy hatte nämlich den Zugriffsversuch aus dem Container auf das Hostsystem unterbunden [3]. Für viele Anwendungsfälle ist die Standard-SELinux-Policy allerdings nicht ausreichend, weshalb eine individuelle Modifikation des Regelwerks notwendig ist. Um diese durchzuführen, ist jedoch ein wenig Grundlagenwissen notwendig.
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.