Docker-Image mit 47 CVEs
Ein Security-Audit fand in unserem Produktions-Container 47 bekannte Schwachstellen. 12 davon kritisch.
Wie es dazu kam:
- Base-Image:
node:14(nicht gepinnt) - Image vor 18 Monaten gebaut
- Nie neu gebaut
- Kein Vulnerability Scanning
- Volle Debian-Basis (1,2 GB Image)
Die CVE-Aufschlüsselung:
- 12 Critical (Remote Code Execution)
- 18 High (Privilege Escalation)
- 17 Medium
- Alle in Base-Image-Paketen, die wir gar nicht nutzten
Was wir behoben haben:
- Umstieg auf
node:22-alpine(~130 MB statt 1,2 GB) — Node 22 ist die aktive LTS-Linie; Achtung: Ein Sprung über Node-Major-Versionen ist eine echte Migration (OpenSSL 3, entfernte APIs), nicht bloß ein Base-Image-Tausch, und hat uns einen Sprint an Tests gekostet - Trivy-Scanning in die CI-Pipeline aufgenommen
- Deploys mit Critical/High-CVEs werden blockiert
- Wöchentliche automatisierte Image-Rebuilds
- Base-Image-Versionen gepinnt
Ergebnis: Null Critical/High-Findings zum Scan-Zeitpunkt und rund 90% kleinere Images. Zwischen den Rebuilds landen weiterhin neue CVEs — genau dafür sind der wöchentliche Rebuild und das CI-Gate da.
Lektion: Wenn Sie Ihre Container nicht scannen, gehen Sie davon aus, dass sie verwundbar sind. Container-Image-Hygiene ist eine der ersten Kontrollen, die wir in SecOps-Engagements umsetzen, weil sie günstig und automatisierbar ist und echte Angriffsfläche schließt.
Incidents wie dieser sind vermeidbar. Unser Team für AWS Managed Services überwacht Kundenumgebungen 24/7 mit KI-gestütztem Monitoring und Senior Engineers am Pager — damit Geschichten wie diese im Archiv bleiben.