{"id":294873,"date":"2025-07-26T07:15:10","date_gmt":"2025-07-26T07:15:10","guid":{"rendered":"https:\/\/www.europesays.com\/de\/294873\/"},"modified":"2025-07-26T07:15:10","modified_gmt":"2025-07-26T07:15:10","slug":"docker-image-security-teil-1-die-groessten-irrtuemer-ueber-image-scanner","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/de\/294873\/","title":{"rendered":"Docker Image Security \u2013 Teil 1: Die gr\u00f6\u00dften Irrt\u00fcmer \u00fcber Image-Scanner"},"content":{"rendered":"<p>Image Scanner wie Trivy oder Grype sind unverzichtbare Werkzeuge zur Erkennung von Schwachstellen in Container-Images. W\u00e4hrend eines Scans erstellen sie eine Software Bill of Materials (SBOM) und gleichen sie mit verschiedenen Schwachstellendatenbanken ab, um potenziell angreifbare Komponenten zu identifizieren. Viele IT-Teams nutzen diese Scanner unter der Annahme, dass sie alle Schwachstellen pr\u00e4zise erkennen. Doch diese Scanner sind daf\u00fcr anf\u00e4llig, sowohl False Positives als auch False Negatives zu erzeugen, also Schwachstellen zu melden, die keine sind, oder tats\u00e4chliche zu \u00fcbersehen. Dies f\u00fchrt zu erheblichem Mehraufwand bei der Analyse der Ergebnisse und zu Sicherheitsrisiken.<\/p>\n<p>    <img loading=\"lazy\" decoding=\"async\" alt=\"Marius Shekow\" height=\"799\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C\/rect%3E%3C\/svg%3E\" style=\"aspect-ratio: 799 \/ 799; object-fit: cover;\" width=\"799\"\/><\/p>\n<p class=\"a-inline-textbox__synopsis\">\n          Dr. Marius Shekow war \u00fcber 10 Jahre als Forscher und Softwareentwickler bei Fraunhofer t\u00e4tig. Seit 2022 ist er Lead DevOps- &amp; Cloud-Engineer bei SprintEins in Bonn. Dort baut er f\u00fcr Konzerne und KMUs individuelle Cloud-Umgebungen, inkl. CI\/CD-Automatisierung, Observability und Security-Absicherung.\n        <\/p>\n<p>Dieser Artikel beschreibt, wie die Scanner funktionieren, und liefert eine umfassende Liste m\u00f6glicher False Positives und Negatives, mit konkreten Beispielen. Eine Analyse von acht der beliebtesten Docker Hub Images mit Trivy und Grype zeigt offensichtliche False Negatives bei fast allen Images, wodurch IT-Systeme angreifbar werden. Abschlie\u00dfend werden L\u00f6sungsans\u00e4tze skizziert.<\/p>\n<p>Was macht ein Image sicher (oder angreifbar)<\/p>\n<p>Wirft man bei Docker Hub einen genauen Blick auf beliebte Images (beispielsweise nginx), zeigt das Docker Hub UI selbst bei k\u00fcrzlich gepushten Tags mehrere Schwachstellen (Vulnerabilities) an. Doch weder Docker Inc. noch die Image-Maintainer w\u00fcrden es dulden, dass selbst die neuesten gepushten Images bekannte Sicherheitsl\u00fccken aufweisen. Woher kommen also diese vermeintlichen Schwachstellen, und sind sie wirklich ausnutzbar?<\/p>\n<p>Die Images enthalten meistens eine gro\u00dfe Anzahl von Softwarekomponenten, etwa Bin\u00e4rdateien und Bibliotheken. Ein PostgreSQL-Image wie <a href=\"https:\/\/hub.docker.com\/layers\/library\/postgres\/17.1\/images\/sha256-5dee68706b08e5e13db9d9a98981e62eb4a9837187821d9a30aaaf1b9424864f\" rel=\"external noopener\" target=\"_blank\">postgres:17.1<\/a> enth\u00e4lt beispielsweise nicht nur die eine Komponente PostgreSQL, sondern \u00fcber 200 Komponenten, darunter OpenSSL, die Bash-Shell und verschiedene Systempakete und -bibliotheken. Einige dieser Komponenten k\u00f6nnen f\u00fcr Exploits anf\u00e4llig sein. Das ist aber nur dann der Fall, wenn die Komponente w\u00e4hrend der Container-Laufzeit in den RAM geladen und der angreifbare Codepfad der Komponente tats\u00e4chlich ausgef\u00fchrt wird.<\/p>\n<p>Das Kernproblem ist, dass die Reports von allen Docker-Image-Schwachstellenscannern wie Trivy oder Grype aus verschiedenen technischen Gr\u00fcnden fehleranf\u00e4llig sind (Details folgen). Konsumenten eines Images w\u00fcrden jedoch Scanner bevorzugen, die nur &#8222;True Positives&#8220; und &#8222;True Negatives&#8220; erzeugen. In der Realit\u00e4t liefern diese Scanner jedoch auch &#8222;False Negatives&#8220; und &#8222;False Positives&#8220;.<\/p>\n<p>Begriffe wie &#8222;False Positive&#8220; stammen aus der Statistik und der Medizin (siehe <a href=\"https:\/\/de.wikipedia.org\/wiki\/Beurteilung_eines_bin%C3%A4ren_Klassifikators\" rel=\"external noopener\" target=\"_blank\">Wikipedia<\/a>). &#8222;Positive&#8220; bzw. &#8222;Negative&#8220; bezieht sich auf die vom Scanner gemeldete Einsch\u00e4tzung, w\u00e4hrend &#8222;True&#8220; bzw. &#8222;False&#8220; angibt, ob diese Einsch\u00e4tzung tats\u00e4chlich stimmt. Im Kontext des Image-Scanning haben die Begriffe folgende Bedeutung:<\/p>\n<ul class=\"rte__list rte__list--unordered\">\n<li><strong>True Positive<\/strong>: Der Scanner meldet eine angreifbare Komponente, und die Einsch\u00e4tzung stimmt, weil diese Komponente w\u00e4hrend der Container-Ausf\u00fchrung tats\u00e4chlich geladen wird und angreifbare Codepfade ausgef\u00fchrt werden, die ein Angreifer ausnutzen kann. Auf solche Funde muss man reagieren, etwa durch Aktualisieren oder Entfernen der betroffenen Komponente.<\/li>\n<li><strong>False Positive<\/strong>: Der Scanner meldet eine angreifbare Komponente. Aber sie kann in diesem Image aus verschiedenen Gr\u00fcnden nicht ausgenutzt werden. Der Scanner liegt also falsch. Leider wei\u00df man zu diesem Zeitpunkt noch nicht, ob ein gemeldeter &#8222;Positive&#8220;-Fund nun ein True Positive oder False Positive ist. Es muss teilweise erheblicher Aufwand investiert werden, um dies (manuell) zu ermitteln. Dies wird auch als Triage bezeichnet.<\/li>\n<li><strong>True Negative<\/strong>: Der Scanner hat eine Komponente, die Teil des Images ist, zu Recht nicht als angreifbar gemeldet.<\/li>\n<li><strong>False Negative<\/strong>: Der Scanner hat eine Image-Komponente nicht als angreifbar gemeldet, obwohl er es h\u00e4tte tun sollen, weil diese Komponente tats\u00e4chlich angreifbar ist. Das ist eine gef\u00e4hrliche Situation, da das Image angreifbar ist, ohne dass man es wei\u00df.<\/li>\n<\/ul>\n<p>Wie Scanner funktionieren<\/p>\n<p>Die folgende Abbildung 1 veranschaulicht den Ablauf, wenn ein Scanner wie Trivy ein Image analysiert:<\/p>\n<p>      <a href=\"https:\/\/www.heise.de\/imgs\/18\/4\/9\/0\/2\/8\/3\/8\/vulnerability-scan-process.german.drawio-e263798581ebff41.png\" target=\"_blank\" rel=\"noopener\"><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" alt=\"Ablauf-Diagramm f\u00fcr einen Image Scan\" height=\"970\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C\/rect%3E%3C\/svg%3E\" style=\"aspect-ratio: 938 \/ 970; object-fit: cover;\" width=\"938\"\/><\/p>\n<p>      <\/a><\/p>\n<p>Image-Scan-Ablauf (Abb. 1)<\/p>\n<p><strong>Schritt 1<\/strong>: Der Scanner analysiert ein Image und erstellt daf\u00fcr eine (interne) SBOM, also eine Liste aller Softwarekomponenten des Images. Die Implementierungen der Scanner unterscheiden sich, aber prinzipiell hat jeder Scanner mehrere Katalogisierer, die Softwarepakete identifizieren. Wichtige Katalogisierer sind:<\/p>\n<ul class=\"rte__list rte__list--unordered\">\n<li>Metadaten des Linux-Paketmanagers: Jeder Scanner identifiziert zuerst die Linux-Distribution des Images (z. B. Alpine oder Ubuntu) und analysiert dann die Metadaten des Paketmanagers. Die Metadaten beinhalten, welche Pakete via Paketmanager installiert wurden (z. B. die Datei \/var\/lib\/dpkg\/status f\u00fcr apt). Die konkret unterst\u00fctzten Linux-Distributionen variieren je nach Scanner.<\/li>\n<li>Metadaten von Programmiersprachen-Paketmanagern: Die meisten Scanner k\u00f6nnen die Dependency-Manifeste verschiedener Programmiersprachen (z. B. txt f\u00fcr Python oder yarn.lock f\u00fcr Yarn\/npm) indizieren, um Dependencies der jeweiligen Sprache\/\u00d6kosystem zu erkennen.<\/li>\n<li>Eingebettete SBOMs: Um es Scannern zu erm\u00f6glichen, Komponenten zu erkennen, die nicht via Paketmanager installiert wurden, unterst\u00fctzen einige Scanner das Auffinden eingebetteter standardisierter SBOMs, die Teil des Dateisystems des Images sind. Dies ist <a href=\"https:\/\/trivy.dev\/v0.60\/docs\/scanner\/vulnerability\/#non-packaged-software\" rel=\"external noopener\" target=\"_blank\">hier<\/a> f\u00fcr Trivy dokumentiert. Zudem unterst\u00fctzen sowohl Trivy als auch Grype einige propriet\u00e4re eingebettete SBOM-Formate, z. B. f\u00fcr Bitnami-Images.<\/li>\n<li>Metadaten in Bin\u00e4rdateien: Die Compiler einiger Programmiersprachen (beispielsweise Rust oder Go) k\u00f6nnen Metadaten in dessen produzierte Bin\u00e4rdateien einbetten. Die Metadaten enthalten Namen und Versionen der Anwendung sowie deren (transitiver) Dependencies. Scanner wie Trivy oder Grype k\u00f6nnen diese Metadaten aus einer Bin\u00e4rdatei extrahieren und interpretieren.<\/li>\n<li>Bin\u00e4r-Scanning: Um Komponenten, die beispielsweise mit C\/C++ kompiliert wurden (und nicht via Paketmanager installiert wurden), zu identifizieren, besitzt die in Grype integrierte Syft-Library einen <a href=\"https:\/\/github.com\/anchore\/syft\/tree\/main\/syft\/pkg\/cataloger\/binary\" rel=\"external noopener\" target=\"_blank\">Bin\u00e4r-Scanner-Katalogisierer<\/a>. Dieser verwendet regul\u00e4re Ausdr\u00fccke auf Dateisystem-Pfade, und kann dadurch <a href=\"https:\/\/github.com\/anchore\/syft\/blob\/main\/syft\/pkg\/cataloger\/binary\/classifiers.go\" rel=\"external noopener\" target=\"_blank\">ausgew\u00e4hlte<\/a> Bin\u00e4rdateien identifizieren. Bei Trivy hat lediglich die kommerzielle Aqua Security Edition einen solchen Katalogisierer, bei Trivys Open-Source-Variante fehlt er.<\/li>\n<\/ul>\n<p><strong>Schritt 2<\/strong>: Das Scanner-CLI l\u00e4dt eine Schwachstellendatenbank herunter (es sei denn, es liegt bereits eine aktuelle Kopie im lokalen Cache). Die Scanner-Hersteller kompilieren diese Datenbankdatei t\u00e4glich neu. Ihre Gr\u00f6\u00dfe betr\u00e4gt etwa 60 bis 70 MByte bei Trivy und Grype. Die Datei hat ein propriet\u00e4res Format und enth\u00e4lt Schwachstellen aus verschiedenen Schwachstellendatenbanken. Die vorkompilierten Datenbanken haben folgende Vorteile:<\/p>\n<ul class=\"rte__list rte__list--unordered\">\n<li>Der Scanner kann effizient in ihnen suchen (dank des propriet\u00e4ren Formats).<\/li>\n<li>Der Scanner muss zur Scan-Zeit nicht jede Schwachstellendatenbank \u00fcber das Internet abfragen (vielen Datenbanken fehlt ohnehin eine solche Abfrageschnittstelle).<\/li>\n<li>Der Scanner funktioniert auch in isolierten Offline-Umgebungen.<\/li>\n<\/ul>\n<p><strong>Schritt 3<\/strong>: Der dritte Schritt ist das Kreuzverweisen (siehe Kasten). Der Scanner gleicht alle Komponenten der intern erstellten SBOM mit den Eintr\u00e4gen seiner Schwachstellendatenbank ab. Er meldet jeden Treffer als positives Ergebnis.<\/p>\n<p>Der Schritt &#8222;Kreuzverweisen&#8220; ist f\u00fcr die Scanner technisch anspruchsvoll, weil eine Softwarekomponente in vielen verschiedenen Repositorys unter unterschiedlichen Bezeichnern und Versionen existiert, die jeweils von unterschiedlichen Schwachstellen betroffen sind.<\/p>\n<p>Ein Beispiel: Angenommen, ein Image enth\u00e4lt einen Python-Interpreter. Python wird auf zahlreichen Wegen verteilt. Zum einen durch Download von der python.org-Homepage, deren Bin\u00e4r-Builds direkt aus dem Upstream-Quellcode erstellt werden. Daneben paketieren die meisten Linux-Distributionen \u2013 darunter Red Hat Enterprise Linux, SUSE Linux, Alpine, Debian oder Ubuntu \u2013 Python, indem sie die Bin\u00e4rpakete selbst kompilieren und in den offiziellen Distribution-Repositorys speichern.<\/p>\n<p>Welche Pakete in welcher Version aufgenommen werden, entscheidet sich jeweils beim Zusammenstellen einer neuen Linux-Distribution. Im Fall von Python ist dies beispielsweise <a href=\"https:\/\/launchpad.net\/ubuntu\/+source\/python3.12\/\" rel=\"external noopener\" target=\"_blank\">Python 3.12.3 f\u00fcr Ubuntu 24.04 (&#8222;Noble Numbat&#8220;)<\/a>. Aus Stabilit\u00e4tsgr\u00fcnden bleibt diese Python-Version f\u00fcr die gesamte Lebensdauer dieser Ubuntu-Version fixiert. Da eine so alte Python-Version schnell angreifbar wird, erstellen die Linux-Distro-Maintainer jeweils Backports von Sicherheitspatches, die distributionsspezifische Suffixe wie 3.12.3-1ubuntu0.5 erhalten. Anhand eines eigenen Security-Trackers halten die Maintainer fest, welche ihrer Builds von welchen Schwachstellen\/CVEs betroffen sind (siehe die <a href=\"https:\/\/trivy.dev\/latest\/docs\/scanner\/vulnerability\/#data-sources\" rel=\"external noopener\" target=\"_blank\">\u00dcbersicht in der Trivy-Dokumentation<\/a>).<\/p>\n<p>Ermittelt ein Scanner wie Trivy f\u00fcr ein via Paketmanager installiertes Paket (wie Python) die Kreuzverweise zu den CVEs, beschr\u00e4nkt sich der Kreuzverweis-Algorithmus allein auf die distributionsspezifische Schwachstellendatenbank. Daher erkennt er nur Schwachstellen f\u00fcr Pakete, die aus den offiziellen Repositorys installiert wurden. Die Scanner-Hersteller k\u00f6nnten alternativ auf generische (Distro-unabh\u00e4ngige) Schwachstellendatenbanken wie NVD zur\u00fcckgreifen, die alle (Python-)Schwachstellen enthalten \u2013 etwa \u00fcber CPE-Bezeichner wie <a href=\"https:\/\/nvd.nist.gov\/vuln\/search\/results?adv_search=true&amp;isCpeNameSearch=true&amp;query=cpe%3A2.3%3Aa%3Apython%3Apython%3A3.12.3%3A*%3A*%3A*%3A*%3A*%3A*%3A*\" rel=\"external noopener\" target=\"_blank\">&#8222;cpe:2.3:a:python:python:3.12.3:::::::*&#8220;<\/a>. Nach eigener Aussage verzichten sie jedoch darauf, weil sonst zu viele False Positives gemeldet w\u00fcrden.<\/p>\n<p>Hinweis: Das Kreuzverweisen von Paketen, die in einer einzigen &#8222;autoritativen&#8220; Registry gespeichert sind (z. B. Node.js-Pakete, die in npmjs.org gespeichert sind), funktioniert einwandfrei, ist also von dieser Einschr\u00e4nkung nicht betroffen.<\/p>\n<p>False Negatives<\/p>\n<p>Die folgende \u00dcbersicht listet Gr\u00fcnde auf und zeigt anhand von Beispielen, warum Scanner gewisse Schwachstellen nicht melden:<\/p>\n<p><strong>Grund 1<\/strong>: Der Scanner erkennt die Komponente nicht, weil sie nicht via Paketmanager installiert wurde.<\/p>\n<p>Beispiel: Ein Multi-Stage Dockerfile kompiliert ein natives C\/C++ Binary in der Build Stage und kopiert es in die Final Stage des Images.<\/p>\n<p><strong>Grund 2<\/strong>: Der Scanner erkennt die Komponente nicht, obwohl sie via Paketmanager installiert wurde, da die zugeh\u00f6rigen Metadaten des Paketmanagers gel\u00f6scht wurden.<\/p>\n<p>Beispiel: Tools wie <a href=\"https:\/\/github.com\/mintoolkit\/mint\" rel=\"external noopener\" target=\"_blank\">mint<\/a> l\u00f6schen solche Metadaten bei der Optimierung des Images, oder die Metadaten wurden absichtlich oder versehentlich von Menschen gel\u00f6scht (siehe Vortrag <a href=\"https:\/\/www.youtube.com\/watch?v=9weGi0csBZM\" rel=\"external noopener\" target=\"_blank\">Malicious Compliance<\/a> auf der KubeCon 2023 sowie <a href=\"https:\/\/www.youtube.com\/watch?v=G24upbAXVd8\" rel=\"external noopener\" target=\"_blank\">diesen Folge-Vortrag<\/a> auf der KubeCon 2025).<\/p>\n<p><strong>Grund 3<\/strong>: Der Scanner erkennt die Komponente zwar, sie ist jedoch nicht in der Schwachstellendatenbank des Scanner-Tools bekannt, die nur Pakete aus dem offiziellen Repository der Linux-Distribution abdeckt.<\/p>\n<p>Beispiel: Das Paket wurde in ein Debian-basiertes Image aus einem Third-Party Debian-Repository oder mithilfe einer .deb-Datei installiert (siehe beispielsweise <a href=\"https:\/\/github.com\/docker-library\/postgres\/blob\/cc254e85ed86e1f8c9052f9cbf0e3320324f0421\/17\/bookworm\/Dockerfile#L131-L156\" rel=\"external noopener\" target=\"_blank\">PostgreSQL<\/a>).<\/p>\n<p><strong>Grund 4<\/strong>: Der Scanner erkennt die Komponente, und (prinzipiell) ist diese Komponente in der Schwachstellendatenbank des Scanners als angreifbar bekannt. Allerdings hat das Scan-Tool die Komponente mit einem anderen Identifier erkannt als dem, der in der Datenbank verwendet wird. Daher schl\u00e4gt das Kreuzverweisen fehl.<\/p>\n<p>Beispiel: Versucht man mit Trivy oder Grype eine SBOM zu scannen, die von einem anderen Tool (wie Bazel oder apko) erstellt wurde, werden keine Schwachstellen gefunden \u2013 konkrete Beispiele sind Googles Distroless Image SBOMs oder die von Chainguard bereitgestellten SBOMs.<\/p>\n<p><strong>Grund 5<\/strong>: Probleme mit der Schwachstellendatenbank des Scanners.<\/p>\n<p>Beispiele: Der Scanner-Hersteller hat seine eingebettete\/propriet\u00e4re Datenbank versehentlich nicht korrekt aktualisiert oder erstellt, beispielsweise k\u00f6nnte einer der zugrunde liegenden Datenbankanbieter (z. B. NVD) vollst\u00e4ndig fehlen.<\/p>\n<p>Das Scanner-Tool hat die lokal gecachte Datenbank seit L\u00e4ngerem nicht aktualisiert, etwa aufgrund von Verbindungsproblemen.<\/p>\n<p>Die Schwachstelle im Code der Komponente wurde bisher nicht gemeldet, oder sie hat noch kein CVSS-Rating erhalten (siehe <a href=\"https:\/\/www.darkreading.com\/vulnerabilities-threats\/nvd-backlog-continues-to-grow\" rel=\"external noopener\" target=\"_blank\">Bericht \u00fcber den wachsenden R\u00fcckstand der NVD<\/a>).<\/p>\n<p>Gr\u00fcnde f\u00fcr False Positives<\/p>\n<p>Die Ursachen, warum False Positives auftreten, also gemeldete Schwachstellen, die in Wahrheit nicht angreifbar sind, lassen sich in vier Gruppen zusammenfassen.<\/p>\n<p>Grund 1 ist, der Scanner findet eine Komponente im Image, die (prinzipiell) Schwachstellen hat. Diese Komponente wird aber entweder w\u00e4hrend der gesamten Container-Laufzeit nicht geladen oder es werden nur diejenigen Teile verwendet, die nicht angreifbar sind. Zum Beispiel k\u00f6nnte ein Datenbankserver-Image ausgef\u00fchrt werden, das auch einen angreifbaren Perl-Interpreter enth\u00e4lt, Perl wird aber nie verwendet.<\/p>\n<p>Zweitens kann der Scanner glauben, eine Komponente gefunden zu haben, weil sie in den Metadaten des Paketmanagers aufgelistet ist. Die Dateien\/Binaries dieser Komponente wurden jedoch (manuell) gel\u00f6scht, ohne die zugeh\u00f6rigen Metadaten korrekt zu aktualisieren. So k\u00f6nnten im Dockerfile Zeilen stehen wie RUN rm  anstelle von RUN apt-get -y remove .<\/p>\n<p>Der dritte m\u00f6gliche Grund k\u00f6nnen Meinungsverschiedenheiten zwischen den Maintainern der Schwachstellendatenbank und den Maintainern der Komponente sein, ob die Komponente wirklich angreifbar ist. Die Software-Maintainer wissen prinzipiell von der Schwachstelle, haben aber aus verschiedenen Gr\u00fcnden nicht vor, diese in n\u00e4chster Zeit zu beheben. So wird zum Beispiel <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2005-2541\" rel=\"external noopener\" target=\"_blank\">CVE-2005-2541<\/a> von Security-Forschern als High-Severity-Schwachstelle angesehen, aber <a href=\"https:\/\/security-tracker.debian.org\/tracker\/CVE-2005-2541\" rel=\"external noopener\" target=\"_blank\">Debian<\/a> interpretiert sie als &#8222;beabsichtigtes Verhalten&#8220;, also wie ein Feature. Oder die Software-Maintainer sehen die Schwachstelle als kleines Problem und haben ihr daher eine niedrige Priorit\u00e4t zugewiesen. Sie wird m\u00f6glicherweise erst in einigen Monaten oder Jahren behoben.<\/p>\n<p>Viertens schlie\u00dflich k\u00f6nnte der Scanner die Security-Backports nicht richtig erkennen, die von einigen Linux-Distributionen f\u00fcr bestimmte Komponenten implementiert wurden. <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2020-8169\" rel=\"external noopener\" target=\"_blank\">CVE-2020-8169<\/a> etwa gibt beispielsweise an, dass die curl-Versionen 7.62.0 bis 7.70.0 eine Schwachstelle aufweisen, die in Version 7.71.0 behoben ist. Das curl-Paket in Debian Buster hat allerdings einen Backport des Security-Fixes in Version 7.64.0-4+deb10u2 (siehe <a href=\"https:\/\/security-tracker.debian.org\/tracker\/CVE-2020-8169\" rel=\"external noopener\" target=\"_blank\">Debian Security-Tracker<\/a> und <a href=\"https:\/\/lists.debian.org\/debian-security-announce\/2021\/msg00062.html\" rel=\"external noopener\" target=\"_blank\">DSA-4881-1<\/a>), die der Scanner nicht erkennt (der Scanner erkennt Version 7.64.0 und meldet sie als angreifbar).<\/p>\n<p>\n      Dieser Link ist leider nicht mehr g\u00fcltig.\n    <\/p>\n<p>Links zu verschenkten Artikeln werden ung\u00fcltig,<br \/>\n      wenn diese \u00e4lter als 7\u00a0Tage sind oder zu oft aufgerufen wurden.\n    <\/p>\n<p><strong>Sie ben\u00f6tigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen \u2013 ohne Verpflichtung!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"Image Scanner wie Trivy oder Grype sind unverzichtbare Werkzeuge zur Erkennung von Schwachstellen in Container-Images. W\u00e4hrend eines Scans&hellip;\n","protected":false},"author":2,"featured_media":294874,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[86334,86335,29,47841,86336,30,86337,196,190,189,1687,194,191,193,192],"class_list":{"0":"post-294873","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wissenschaft-technik","8":"tag-container-images","9":"tag-containerisierung","10":"tag-deutschland","11":"tag-developer","12":"tag-docker","13":"tag-germany","14":"tag-image-scanner","15":"tag-it","16":"tag-science","17":"tag-science-technology","18":"tag-security","19":"tag-technik","20":"tag-technology","21":"tag-wissenschaft","22":"tag-wissenschaft-technik"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@de\/114918308126115159","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/294873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/comments?post=294873"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/294873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media\/294874"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media?parent=294873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/categories?post=294873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/tags?post=294873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}