Auf CVE-Einträge und die zugehörigen CVSS-Scores von Sicherheitslücken kann man sich nicht immer verlassen, wie der Curl-Chefentwickler kürzlich erfahren musste.
CVE-Einträge, auch als CVEs abgekürzt, bilden die Grundlage für die systematische Bearbeitung von Sicherheitslücken. CVE steht für Common Vulnerabilities and Exposures, ein öffentliches Verzeichnis und eine systematische Kennung, die dazu dient, Sicherheitslücken und Schwachstellen in Software und Hardware eindeutig zu identifizieren und zu kategorisieren. Jede CVE-Nummer repräsentiert eine bestimmte Sicherheitslücke oder Schwachstelle. Dieses System erleichtert die Koordination und den Informationsaustausch zwischen Sicherheitsexperten, Entwicklern sowie Nutzern und hilft, Sicherheitsprobleme effizienter zu beheben.
Das CVE-System wurde von der MITRE Corporation ins Leben gerufen, einer gemeinnützigen Forschungsorganisation, die sich auf verschiedene technologische und sicherheitsrelevante Aspekte konzentriert. Seit seiner Gründung hat sich das CVE-System als Standard etabliert und gilt als verlässliche Quelle. Dennoch sollte man sich nicht allzu sehr auf CVE-Einträge verlassen, wie der Verantwortliche für die Wartung des Open-Source-Projekts Curl herausfinden musste.
Der Curl-Entwickler Daniel Stenberg erhielt kürzlich eine Nachricht, die ihn aufforderte, eine schon seit Jahren in dem Tool klaffende Sicherheitslücke zu korrigieren. In der Tat führt das MITRE in der CVE-Datenbank den Eintrag CVE-2020-19909, der einen Integer-Überlauf in Curl beschreibt. Die Schwachstelle ist mit einem CVSS-Wert von 9.8 sogar als sehr kritisch markiert. CVSS steht als Kürzel für Common Vulnerability Scoring System. Die numerische Bewertung quantifiziert die Schwere oder Bedrohlichkeit einer Sicherheitslücke oder Schwachstelle in Software oder Hardware. Der Wert hilft dabei, die Priorität und Dringlichkeit von Sicherheitsaktualisierungen oder Gegenmaßnahmen festzulegen. Ein höherer CVSS-Wert deutet auf eine schwerwiegendere Sicherheitslücke hin, ein niedrigerer Wert steht für eine weniger kritische Bedrohung.
Wie Stenberg in seinem Blog beschreibt [1], war ihm allerdings kein derartiges Problem bekannt. Das verwundert umso mehr, da es sich angeblich um einen alten und gleichzeitig kritischen Fehler in Curl handelt. In der Tat wurde 2019 in Curl ein Integer-Overflow-Fehler korrigiert. Ein solcher tritt auf, wenn ein Integer-Wert in einem Programm den maximal darstellbaren Wert des verwendeten Datentyps überschreitet. Das führt dazu, dass der Wert überläuft und von seinem maximalen Wert auf seinen minimalen Wert zurückgesetzt wird. Ein derartiger Fehler trat bei sehr großen Werten für den Parameter »–retry-delay« auf und wurde seinerzeit zügig behoben. Er war auch nicht als sicherheitsrelevant eingestuft, da sich darüber keine Befehle ausführen ließen.
Wie sich herausstellte, hatte jemand genau diesen Fehler erneut im CVE-System gemeldet, wo er mit einem viel zu hohen CVSS-Wert eingetragen wurde, obwohl die an sich harmlose Schwachstelle bereits vor langer Zeit korrigiert worden war. Dieser Fall demonstriert exemplarisch ein Problem des weiter verbreiteten CVE-Systems: Dort gemeldete Fehler werden nicht immer ordentlich kontrolliert. Das Problem besteht darin, dass jede Person oder Organisation jederzeit CVE-Nummern reservieren und dann selbst Sicherheitsproblemen zuweisen kann. MITRE belässt es bei einfachsten Prüfungen und übernimmt ansonsten ungeprüft die Angaben des Einreichers. (jcb)
Infos
- Daniel Stenbergs Blog: https://daniel.haxx.se/blog/2023/08/26/cve-2020-19909-is-everything-that-is-wrong-with-cves





