PenetrationstestJan Kahmen9 min Lesezeit

CWE Top 25 - (2021)

Die CWE Top 25 Most Dangerous Software Weaknesses von 2021 ist eine Liste der 25 gefährlichsten Software Schwachstellen.

Inhaltsverzeichnis

Die CWE Top 25 Most Dangerous Software Weaknesses from 2021 ist eine Liste der 25 gefährlichsten Softwareschwachstellen. Diese Schwachstellen stellen ein ernstes Sicherheitsrisiko dar und können dazu führen, dass sensible Daten gestohlen oder Systeme unbefugt kontrolliert werden. In diesem Blog-Beitrag werden alle 25 Schwachstellen im Detail beschrieben und wie man sich vor ihnen schützen kann.

CWE TOP 25 - 2021

  1. Out-of-bounds Write: Diese Sicherheitslücke tritt auf, wenn ein Programm Daten außerhalb der vorgesehenen Grenzen eines Puffers, Arrays oder einer anderen Speicherstruktur schreibt. Dies kann zu einem Absturz führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  2. Unsachgemäße Neutralisierung von Eingaben während der Webseitenerstellung ('Cross-Site Scripting'): Diese Schwachstelle tritt auf, wenn vom Benutzer bereitgestellte Eingaben nicht ordnungsgemäß bereinigt oder validiert werden, bevor sie in eine Webseite eingefügt werden. Dies kann es einem Angreifer ermöglichen, bösartigen Code in die Seite einzuschleusen, der zum Diebstahl von Benutzerdaten oder zur Ausführung von beliebigem Code verwendet werden kann.

  3. Out-of-bounds Read: Diese Schwachstelle tritt auf, wenn ein Programm Daten außerhalb des vorgesehenen Rahmens eines Puffers, Arrays oder einer anderen Speicherstruktur liest. Dies kann zu einem Absturz führen oder einem Angreifer den Zugriff auf sensible Daten ermöglichen.

  4. Unsachgemäße Eingabevalidierung: Diese Schwachstelle tritt auf, wenn vom Benutzer bereitgestellte Eingaben nicht ordnungsgemäß validiert werden, bevor sie verwendet werden. Dies kann einem Angreifer erlauben, bösartige Eingaben zu machen, die zum Absturz des Programms oder zur Ausführung von beliebigem Code verwendet werden können.

  5. Unsachgemäße Neutralisierung von speziellen Elementen, die in einem OS-Befehl verwendet werden ('OS Command Injection'): Diese Schwachstelle tritt auf, wenn vom Benutzer bereitgestellte Eingaben nicht ordnungsgemäß bereinigt oder validiert werden, bevor sie in einem Betriebssystembefehl verwendet werden. Dies kann einem Angreifer erlauben, bösartigen Code in den Befehl einzuschleusen, der dann zur Ausführung von beliebigem Code verwendet werden kann.

  6. Unsachgemäße Neutralisierung von speziellen Elementen, die in einem SQL-Befehl verwendet werden ('SQL Injection'): Diese Sicherheitslücke tritt auf, wenn vom Benutzer bereitgestellte Eingaben nicht ordnungsgemäß bereinigt oder validiert werden, bevor sie in einer SQL-Abfrage verwendet werden. Dies kann es einem Angreifer ermöglichen, bösartigen Code in die Abfrage einzuschleusen, der zum Zugriff auf sensible Daten oder zur Ausführung von beliebigem Code verwendet werden kann.

  7. Use After Free: Diese Sicherheitslücke tritt auf, wenn ein Programm versucht, auf Speicher zuzugreifen, der bereits freigegeben wurde. Dies kann zu einem Absturz führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  8. Unzulässige Beschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis ('Path Traversal'): Diese Schwachstelle tritt auf, wenn ein Programm den Zugriff auf eine Datei oder ein Verzeichnis nicht richtig einschränkt. Dies kann einem Angreifer den Zugriff auf sensible Daten oder die Ausführung von beliebigem Code ermöglichen.

  9. Cross-Site Request Forgery (CSRF): Diese Schwachstelle tritt auf, wenn eine Webanwendung Anfragen von nicht vertrauenswürdigen Quellen nicht richtig validiert. Dies kann einem Angreifer erlauben, Aktionen im Namen eines legitimen Benutzers durchzuführen.

  10. Uneingeschränkter Upload von Dateien mit gefährlichem Typ: Diese Schwachstelle tritt auf, wenn eine Webanwendung den uneingeschränkten Upload von Dateien mit gefährlichen Typen zulässt. Dies kann einem Angreifer erlauben, bösartigen Code hochzuladen, der zur Ausführung von beliebigem Code verwendet werden kann.

  11. Fehlende Authentifizierung für kritische Funktion: Diese Schwachstelle tritt auf, wenn eine Webanwendung Benutzer nicht ordnungsgemäß authentifiziert, bevor sie ihnen den Zugriff auf sensible Funktionen erlaubt. Dies kann einem Angreifer den Zugriff auf sensible Daten oder die Ausführung von beliebigem Code ermöglichen.

  12. Integer-Überlauf oder Wraparound: Diese Schwachstelle tritt auf, wenn ein Programm Integer-Werte nicht richtig behandelt. Dies kann zu einem Absturz führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  13. Deserialisierung von nicht vertrauenswürdigen Daten: Diese Sicherheitslücke tritt auf, wenn ein Programm nicht vertrauenswürdige Daten deserialisiert. Dies kann einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  14. Unsachgemäße Authentifizierung: Diese Schwachstelle tritt auf, wenn ein Programm Benutzer nicht ordnungsgemäß authentifiziert, bevor es ihnen den Zugriff auf sensible Funktionen erlaubt. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  15. NULL-Zeiger-Dereferenz: Diese Sicherheitslücke tritt auf, wenn ein Programm versucht, auf Speicher zuzugreifen, der nicht zugewiesen wurde. Dies kann zu einem Absturz führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  16. Verwendung von hartkodierten Anmeldeinformationen: Diese Schwachstelle tritt auf, wenn ein Programm fest kodierte Anmeldeinformationen für den Zugriff auf sensible Funktionen verwendet. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  17. Unzulässige Einschränkung von Operationen innerhalb der Grenzen eines Speicherpuffers: Diese Schwachstelle tritt auf, wenn ein Programm Operationen innerhalb der Grenzen eines Speicherpuffers nicht richtig einschränkt. Dies kann zu einem Absturz führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  18. Fehlende Autorisierung: Diese Sicherheitslücke tritt auf, wenn ein Programm Benutzer nicht ordnungsgemäß autorisiert, bevor es ihnen den Zugriff auf sensible Funktionen erlaubt. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  19. Falsche Standardberechtigungen: Diese Schwachstelle tritt auf, wenn ein Programm die Standardberechtigungen für Dateien und Verzeichnisse nicht richtig setzt. Dies kann einem Angreifer den Zugriff auf sensible Daten oder die Ausführung von beliebigem Code ermöglichen.

  20. Offenlegung sensibler Informationen für einen nicht autorisierten Akteur: Diese Schwachstelle tritt auf, wenn ein Programm sensible Daten nicht richtig vor unberechtigtem Zugriff schützt. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  21. Unzureichend geschützte Berechtigungsnachweise: Diese Schwachstelle tritt auf, wenn ein Programm Benutzeranmeldeinformationen nicht ordnungsgemäß vor unberechtigtem Zugriff schützt. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  22. Falsche Zuweisung von Berechtigungen für kritische Ressourcen: Diese Schwachstelle tritt auf, wenn ein Programm Berechtigungen für kritische Ressourcen nicht korrekt zuweist. Dies kann einem Angreifer erlauben, auf sensible Daten zuzugreifen oder beliebigen Code auszuführen.

  23. Unzulässige Einschränkung des Verweises auf externe XML-Entitäten: Diese Schwachstelle tritt auf, wenn ein Programm externe XML-Entitätsreferenzen nicht richtig einschränkt. Dies kann einem Angreifer den Zugriff auf sensible Daten oder die Ausführung von beliebigem Code ermöglichen.

  24. Server-Side Request Forgery (SSRF): Diese Schwachstelle tritt auf, wenn eine Webanwendung Anfragen von nicht vertrauenswürdigen Quellen nicht richtig validiert. Dies kann einem Angreifer den Zugriff auf sensible Daten oder die Ausführung von beliebigem Code ermöglichen.

  25. Unsachgemäße Neutralisierung von speziellen Elementen, die in einem Befehl verwendet werden ('Command Injection'): Diese Sicherheitslücke tritt auf, wenn vom Benutzer bereitgestellte Eingaben nicht ordnungsgemäß bereinigt oder validiert werden, bevor sie in einem Befehl verwendet werden. Dies kann einem Angreifer erlauben, bösartigen Code in den Befehl einzuschleusen, der zur Ausführung von beliebigem Code verwendet werden kann.

Fazit

Die CWE Top 25 von 2021 ist eine wichtige Liste der häufigsten und gefährlichsten Software-Schwachstellen. Im Vergleich zu den CWE Top 25 aus dem Jahr 2020 enthält die Liste 2021 neue Schwachstellen wie die unsachgemäße Neutralisierung von speziellen Elementen, die in einem Befehl verwendet werden ("Command Injection"), Server-Side Request Forgery (SSRF) und falsche Standardberechtigungen. Darüber hinaus wurden einige der bestehenden Schwachstellen in der Liste neu geordnet, wie z. B. die unsachgemäße Neutralisierung von Eingaben während der Generierung von Webseiten ("Cross-Site Scripting") und die unsachgemäße Neutralisierung spezieller Elemente, die in einem OS-Befehl verwendet werden ("OS Command Injection"). Die CWE Top 25 von 2021 ist eine wichtige Ressource für Softwareentwickler und Sicherheitsexperten, da sie eine umfassende Liste der häufigsten und gefährlichsten Software-Schwachstellen enthält.

Erweitern Sie Ihren Horizont mit einer Reifegradanalyse!

Reifegradanalyse für 1990 € !

Buchen Sie unserer Kennenlernprojekt, um einen groben aber ganzheitlichen Überblick über Ihre Maßnahmen in der Informationssicherheit zu bekommen!

Kontakt

Neugierig? Überzeugt? Interessiert?

Vereinbaren Sie ein unverbindliches Erstgespräch mit einem unserer Vertriebsmitarbeiter. Nutzen Sie den folgenden Link, um einen Termin auszuwählen: