Komponenten mit bekannten Schwachstellen
Der CVE ist öffentlich. Ihr Abhängigkeitsbaum ist der einzige Unbekannte.
Was ist Komponenten mit bekannten Schwachstellen?
Angreifer und Verteidiger lasen am selben Tag denselben Hinweis. Der Angreifer muss die fehlerhafte Version an einer Stelle laufen lassen; Sie müssen jede Übereinstimmung im Abhängigkeitsbaum finden, sie patchen, testen und bereitstellen. Sie testen eine Importfunktion, erfahren aus der Antwort ihre Bibliotheksversion und senden eine Datei, die ein veröffentlichter CVE in Codeausführung umwandelt. Dann stoßen Sie auf die gepatchte Version, wechseln zu einer Nur-Daten-Neuerstellung und verbinden einen Lockfile-Scanner mit CI, sodass die nächste Empfehlung als Build-Fehler eintrifft.
Was Sie lernen in Komponenten mit bekannten Schwachstellen
- Die Gefährdung durch bekannte Schwachstellen als Lücke zwischen CVE-Veröffentlichung und Ausrollen der gepatchten Abhängigkeit erkennen sowie automatisiertes Scanning als Maßnahme, die diese Lücke verkürzt
- Einen CVE-Sicherheitshinweis lesen und dessen betroffene Versionen mit der festgelegten Abhängigkeit eines Projekts abgleichen
- Das Update der Abhängigkeit als unmittelbare Behebung und die CI-Integration von OSV, Snyk, Dependabot oder npm audit als systemische Behebung anwenden
- Verstehen, dass eine Komponente mit Schwachstelle vom Angreifer bereitgestellte Eingaben ausführen kann, auch wenn der umgebende Anwendungscode korrekt geschrieben ist
- Defense in Depth für die Deserialisierung ergänzen: Nicht vertrauenswürdige Eingaben als reine Daten rekonstruieren, niemals als umfangreiche typisierte Objekte, und den Service mit minimalen Berechtigungen ausführen
Komponenten mit bekannten Schwachstellen — Trainingsschritte
-
Die Importfunktion
Verric ermöglicht es Kunden, ein gespeichertes Dashboard als kleine Datei zu exportieren und in einen anderen Arbeitsbereich zu importieren. Der Import läuft nicht im Browser: Die Verric-Server lesen die hochgeladene Datei und stellen daraus das Dashboard wieder her. Bevor Bob etwas daran verändert, öffnet er die Funktion und sieht sich an, wie sie arbeitet.
-
Wo die Datei rekonstruiert wird
Eine Zeile auf dieser Seite erklärt, warum Bob sich dafür interessiert.
-
Eine normale Datei importieren
Beobachten Sie zunächst die Funktion im Normalbetrieb. Bob lädt ein gewöhnlich exportiertes Dashboard hoch und importiert es. Der Netzwerkbereich des Browsers zeichnet Anfrage und Serverantwort auf – genau so, wie Entwickler sie in den DevTools sehen.
-
Wodurch die Datei rekonstruiert wurde
Das Dashboard wurde problemlos importiert. Ein Feld in der Antwort ist für Bob aufschlussreicher als der Import selbst.
-
Die Bibliothek nachschlagen
Bob öffnet ein öffentliches Paketregister, um zu sehen, was über diese Bibliothek bekannt ist. Er gibt die Adresse des Registers selbst in den Browser ein und sucht dann nach der Bibliothek.
-
Die festgelegte Version prüfen
Die neueste Version 2.4.6 ist unbedenklich. Bob braucht aber die Version, die Verric tatsächlich nutzt: 2.4.1, die in der Importantwort genannt wurde. Er wählt sie in der Versionsliste aus, um ihren Sicherheitsstatus zu prüfen.
-
Mit einer normalen Datei beginnen
Bob öffnet ein gewöhnlich exportiertes Dashboard in seinem Editor. Im Moment ist es genau das, wonach es aussieht: ein Titel und ein Diagramm.
-
Die Datei präparieren
Bob ändert ein Feld. Er ersetzt das Diagramm-Widget durch einen prozessstartenden Typ mit einem Shell-Befehl — direkt aus dem Proof of Concept des Sicherheitshinweises. Die Datei lässt sich weiterhin als Dashboard verarbeiten.
-
Das Gadget
Dafür reichten zwei Zeilen.
-
Die präparierte Datei hochladen
Bob importiert seine präparierte Datei über dieselbe Funktion. Für den Browser ist es lediglich ein weiterer Upload.
Abdeckung der Sicherheits-Frameworks
OWASP Top 10
- A03:2025 Software Supply Chain Failures
- A06:2021 Vulnerable and Outdated Components
CWE
- CWE-1104 Use of Unmaintained Third Party Components
- CWE-1395 Dependency on Vulnerable Third-Party Component
CIS Controls
- CIS 16 Application Software Security
- CIS 7 Continuous Vulnerability Management
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security
- ID.RA Risk Assessment