CVE-2020-15257
containerd-shim-API für Host-Netzwerk-Container offengelegt
- Veröffentlicht
- 01.12.2020
- Aktualisiert
- 04.08.2024
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NNiedrig · nächste 30 Tage
- Perzentil
- 87,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
containerd ist ein branchenüblicher Container-Runtime und steht als Daemon für Linux und Windows zur Verfügung. In containerd vor den Versionen 1.3.9 und 1.4.3 ist die containerd-shim-API unsachgemäß für Host-Netzwerk-Container freigegeben. Die Zugriffskontrollen für den API-Socket des Shims überprüften, ob der verbindende Prozess eine effektive UID von 0 hatte, schränkten den Zugriff auf den abstrakten Unix-Domain-Socket jedoch nicht weiter ein. Dies würde es bösartigen Containern, die im selben Netzwerk-Namespace wie der Shim laufen, mit einer effektiven UID von 0, aber ansonsten reduzierten Berechtigungen, ermöglichen, neue Prozesse mit erhöhten Berechtigungen auszuführen. Diese Schwachstelle wurde in containerd 1.3.9 und 1.4.3 behoben. Benutzer sollten so bald wie möglich auf diese Versionen aktualisieren. Es sollte beachtet werden, dass Container, die mit einer alten Version von containerd-shim gestartet wurden, gestoppt und neu gestartet werden sollten, da laufende Container auch nach einem Upgrade weiterhin anfällig bleiben. Wenn Sie nicht die Möglichkeit bieten, dass nicht vertrauenswürdige Benutzer Container im selben Netzwerk-Namespace wie der Shim starten (typischerweise der „Host“-Netzwerk-Namespace, z. B. mit `docker run --net=host` oder `hostNetwork: true` in einem Kubernetes-Pod) und mit einer effektiven UID von 0 ausführen, sind Sie nicht von diesem Problem betroffen. Wenn Sie Container mit einer anfälligen Konfiguration ausführen, können Sie den Zugriff auf alle abstrakten Sockets mit AppArmor verweigern, indem Sie eine Zeile ähnlich wie `deny unix addr=@**,` zu Ihrer Richtlinie hinzufügen. Es ist bewährte Praxis, Container mit einem reduzierten Satz an Berechtigungen, mit einer Nicht-Null-UID und mit isolierten Namespaces auszuführen. Die containerd-Maintainer raten dringend davon ab, Namespaces mit dem Host zu teilen. Die Reduzierung des Satzes an Isolationsmechanismen, die für einen Container verwendet werden, erhöht zwangsläufig die Berechtigungen dieses Containers, unabhängig davon, welcher Container-Runtime zum Ausführen dieses Containers verwendet wird.
Quellen
1Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.