{"id":113376,"date":"2024-02-03T13:41:10","date_gmt":"2024-02-03T11:41:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes"},"modified":"2024-02-03T13:41:10","modified_gmt":"2024-02-03T11:41:10","slug":"uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes","title":{"rendered":"Sicherheitsanf\u00e4lligkeit in runc, die es erm\u00f6glicht, aus Docker- und Kubernetes-Containern auszubrechen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Im Werkzeug zur Ausf\u00fchrung isolierter Container, runc, das in Docker und Kubernetes verwendet wird, wurde die Schwachstelle CVE-2024-21626 entdeckt, die den Zugriff auf das Dateisystem der Host-Umgebung aus einem isolierten Container erm\u00f6glicht. W\u00e4hrend eines Angriffs kann ein Angreifer bestimmte ausf\u00fchrbare Dateien in der Host-Umgebung \u00fcberschreiben und somit die Ausf\u00fchrung seines Codes au\u00dferhalb des Containers erreichen. In den Runtime-Umgebungen crun und youki, die runc verwenden, sowie in LXC tritt das Problem nicht auf. Die Schwachstelle wurde in der Version runc 1.1.12 behoben.    <\/p>\n<p>Bei der Verwendung von Docker- oder Kubernetes-Tools kann ein Angriff durch die Erstellung eines speziell gestalteten Container-Images erfolgen, nach dessen Installation und Start auf das externe Dateisystem aus dem Container zugegriffen werden kann. Bei der Verwendung von Docker besteht die M\u00f6glichkeit, durch ein speziell gestaltetes Dockerfile Ausbeutung zu betreiben. Die Schwachstelle kann auch ausgenutzt werden, wenn Prozesse im Container mit dem Befehl &#171;runc exec&#187; gestartet werden, indem das Arbeitsverzeichnis an den Namespace der Host-Umgebung gebunden wird.      <\/p>\n<p>Die Schwachstelle wird durch ein Leck interner Dateideskriptoren verursacht. Vor der Ausf\u00fchrung von Code innerhalb des Containers schlie\u00dft runc alle Dateideskriptoren mit dem Flag O_CLOEXEC. Dennoch bleibt nach der anschlie\u00dfenden Ausf\u00fchrung der Funktion setcwd() ein offener Dateideskriptor, der auf das Arbeitsverzeichnis verweist und weiterhin nach dem Start des Containers zug\u00e4nglich bleibt. Es wurden mehrere grundlegende Angriffszenarien auf die Host-Umgebung vorgeschlagen, die den verbleibenden Dateideskriptor nutzen.     <\/p>\n<p>Beispielsweise kann der Angreifer im Container-Image den Parameter process.cwd angeben, der auf &#171;\\\/proc\\\/self\\\/fd\\\/7\\\/&#187; verweist, was zu einer Bindung des Arbeitsverzeichnisses an den Prozess pid1 im Container f\u00fchrt, das sich im Mount-Pfad der Host-Umgebung befindet. So kann im Container-Image der Start von &#171;\\\/proc\\\/self\\\/fd\\\/7\\\/..\\\/..\\\/..\\\/bin\\\/bash&#187; konfiguriert werden und durch die Ausf\u00fchrung eines Shell-Skripts der Inhalt von &#171;\\\/proc\\\/self\\\/exe&#187; \u00fcberschrieben werden, welches auf die Host-Kopie von \\\/bin\\\/bash verweist.    <\/p>\n<p>Eine weitere Angriffsvariante erm\u00f6glicht es einem Angreifer, der innerhalb des Containers eingeschr\u00e4nkt ist, Zugriff auf das Verzeichnis der Host-Umgebung zu erhalten, wenn in dem ausgew\u00e4hlten Container privilegierte Prozesse mithilfe des Befehls &#171;runc exec mit der Option &#171;&#8212;cwd&#187; gestartet werden. Der Angreifer kann den Pfad des gestarteten Prozesses durch einen symbolischen Link ersetzen, der auf &#171;\\\/proc\\\/self\\\/fd\\\/7\\\/&#187; verweist, und die \u00d6ffnung von &#171;\\\/proc\\\/$exec_pid\\\/cwd&#187; erreichen, um auf das Dateisystem auf der Host-Seite zuzugreifen. Der Angreifer kann auch die \u00dcberschreibung von ausf\u00fchrbaren Dateien auf der Host-Umgebung erreichen, indem er die Ausf\u00fchrung einer Datei aus der Host-Umgebung (&#171;\\\/proc\\\/self\\\/fd\\\/7\\\/..\\\/..\\\/..\\\/bin\\\/bash&#187;) organisiert und anschlie\u00dfend die Datei &#171;\\\/proc\\\/$pid\\\/exe&#187; \u00fcberschreibt, die auf die gestartete Datei verweist.      <\/p>\n<p>Dar\u00fcber hinaus wurden in den Komponenten des Docker-Toolkits f\u00fcnf weitere Schwachstellen festgestellt:  <\/p>\n<ul>\n<li class=\"l\"> CVE-2024-23651  &#8212; ein Race Condition im BuildKit-Paket, das in Docker verwendet wird, um Quellcode in Build-Artefakte umzuwandeln. Die Schwachstelle wird durch die Verwendung eines gemeinsamen Mount-Punkts mit Cache (&#171;&#8212;mount=type=cache,source=&#187;) in parallelen Ausf\u00fchrungsschritten der Builds verursacht, was beim Verarbeiten eines speziell gestalteten Dockerfiles den Zugriff auf Dateien im Host-Umfeld aus dem Build-Container erm\u00f6glicht. Die Schwachstelle wurde in BuildKit 0.12.5 behoben.\n<li class=\"l\"> CVE-2024-23652 \u2014 Ein Fehler beim L\u00f6schen leerer Dateien, die f\u00fcr den Mount-Punkt bei Verwendung der Option \u201e--mount\u201c erstellt wurden, erm\u00f6glicht das Entfernen von Dateien au\u00dferhalb des Containers beim Verarbeiten eines speziell gestalteten Dockerfiles. Die Schwachstelle wurde in BuildKit 0.12.5 behoben.\n<li class=\"l\"> CVE-2024-23653 \u2014 Ein Fehler in der API-Implementierung in BuildKit erm\u00f6glicht es, einen Container mit erh\u00f6hten Rechten auszuf\u00fchren, ungeachtet des Zustands der Einstellung security.insecure. Die Schwachstelle wurde in BuildKit 0.12.5 behoben.\n<li class=\"l\"> CVE-2024-23650 \u2014 Ein schadhafter Client oder Frontend von BuildKit kann dazu f\u00fchren, dass der Hintergrundprozess von BuildKit abst\u00fcrzt. Die Schwachstelle wurde in BuildKit 0.12.5 behoben.\n<li class=\"l\"> CVE-2024-24557 \u2014 M\u00f6glichkeit der Cache-Vergiftung in Moby, einem Komponent zur Erstellung spezialisierter Systeme f\u00fcr die Containerisolierung. Bei der Verarbeitung eines speziell gestalteten Container-Images kann es gelingen, Daten in den Cache zu bringen, die in sp\u00e4teren Phasen des Builds verwendet werden k\u00f6nnen. Die Schwachstelle wurde in Moby 25.0.2 und 24.0.9 behoben.  <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60545\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 runc, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u043c \u0432 Docker \u0438 Kubernetes, \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2024-21626, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0412 \u0445\u043e\u0434\u0435 \u0430\u0442\u0430\u043a\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0412 runtime crun \u0438 youki, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 runc, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113376","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 runc, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u043c \u0432 Docker \u0438 Kubernetes, \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2024-21626, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 runc, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0432\u044b\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0438 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 runc, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u043c \u0432 Docker \u0438 Kubernetes, \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2024-21626, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-02-03T11:41:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-02-03T11:41:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Schwachstelle in runc, die es erm\u00f6glicht, aus Docker- und Kubernetes-Containern auszubrechen | ProHoster","description":"Im Tool zum Starten von isolierten Containern runc, das in Docker und Kubernetes verwendet wird, wurde die Schwachstelle CVE-2024-21626 gefunden, die den Zugriff auf das Dateisystem der Host-Umgebung aus dem isolierten Container erm\u00f6glicht.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 runc, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0432\u044b\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0438 Kubernetes | ProHoster","og:description":"\u0412 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 runc, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u043c \u0432 Docker \u0438 Kubernetes, \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2024-21626, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/uyazvimost-v-runc-pozvolyayushhaya-vybratsya-iz-kontejnerov-docker-i-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-02-03T11:41:10+00:00","article:modified_time":"2024-02-03T11:41:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/113376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=113376"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/113376\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=113376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=113376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=113376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}