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.

Die CWE Top 25 Most Dangerous Software Weaknesses from 2021 ist eine Liste der 25 gefährlichsten Softwareschwachstellen. Diese Schwachstellen stellen ein erhebliches Sicherheitsrisiko dar und können dazu führen, dass vertrauliche Daten gestohlen oder Systeme ohne Berechtigung übernommen werden. In diesem Beitrag stellen wir alle 25 Schwachstellen im Detail vor und zeigen, wie Sie sich davor schützen können.

CWE TOP 25 - 2021

  1. Out-of-bounds Write: Hierbei schreibt ein Programm Daten über die vorgesehenen Grenzen eines Puffers oder Speicherbereichs hinaus. Das kann zu Abstürzen oder zur Ausführung von beliebigem Code durch einen Angreifer führen.

  2. Improper Neutralization of Input During Web Page Generation (Cross-Site Scripting): Wenn Benutzereingaben nicht ausreichend bereinigt oder validiert werden, bevor sie in eine Webseite einfließen, kann ein Angreifer Schadcode einschleusen. Dieser lässt sich dann zum Diebstahl von Benutzerdaten oder zur Ausführung weiterer Angriffe missbrauchen.

  3. Out-of-bounds Read: Bei dieser Schwachstelle liest ein Programm Daten jenseits der vorgesehenen Grenzen eines Puffers oder Speicherbereichs. Dies kann zu Abstürzen führen oder einem Angreifer Zugang zu vertraulichen Daten verschaffen.

  4. Improper Input Validation: Werden Benutzereingaben vor der Verarbeitung nicht ausreichend validiert, kann ein Angreifer manipulierte Eingaben einschleusen, die das Programm zum Absturz bringen oder beliebigen Code ausführen.

  5. Improper Neutralization of Special Elements used in an OS Command (OS Command Injection): Werden Benutzereingaben nicht korrekt bereinigt, bevor sie in einen Betriebssystembefehl einfließen, kann ein Angreifer eigenen Code einschleusen und auf dem System ausführen.

  6. Improper Neutralization of Special Elements used in an SQL Command (SQL Injection): Wenn Benutzereingaben ohne ausreichende Validierung in eine SQL-Abfrage eingebunden werden, kann ein Angreifer die Abfrage manipulieren, um auf vertrauliche Daten zuzugreifen oder beliebigen Code auszuführen.

  7. Use After Free: Versucht ein Programm, auf bereits freigegebenen Speicher zuzugreifen, kann dies zu Abstürzen führen oder einem Angreifer die Ausführung von beliebigem Code ermöglichen.

  8. Improper Limitation of a Pathname to a Restricted Directory (Path Traversal): Bei dieser Schwachstelle schränkt ein Programm den Zugriff auf Dateien oder Verzeichnisse nicht korrekt ein. Ein Angreifer kann dadurch auf vertrauliche Daten zugreifen oder beliebigen Code ausführen.

  9. Cross-Site Request Forgery (CSRF): Validiert eine Webanwendung eingehende Anfragen nicht ausreichend, kann ein Angreifer Aktionen im Namen eines authentifizierten Benutzers ausführen, ohne dass dieser es bemerkt.

  10. Unrestricted Upload of File with Dangerous Type: Erlaubt eine Webanwendung das unkontrollierte Hochladen beliebiger Dateitypen, kann ein Angreifer Schadcode hochladen und zur Ausführung bringen.

  11. Missing Authentication for Critical Function: Wenn eine Anwendung kritische Funktionen ohne vorherige Authentifizierung zugänglich macht, kann ein Angreifer unbefugt auf vertrauliche Daten oder Funktionen zugreifen.

  12. Integer Overflow or Wraparound: Behandelt ein Programm Integer-Werte nicht korrekt, kann es zu Überläufen kommen, die Abstürze oder die Ausführung von beliebigem Code nach sich ziehen.

  13. Deserialization of Untrusted Data: Deserialisiert ein Programm nicht vertrauenswürdige Daten, kann ein Angreifer dies ausnutzen, um beliebigen Code auszuführen.

  14. Improper Authentication: Authentifiziert ein Programm seine Benutzer nicht ordnungsgemäß, können Angreifer unbefugt auf vertrauliche Funktionen und Daten zugreifen.

  15. NULL Pointer Dereference: Versucht ein Programm, auf nicht zugewiesenen Speicher zuzugreifen, kann dies zu Abstürzen oder zur Ausführung von Schadcode führen.

  16. Use of Hard-coded Credentials: Verwendet ein Programm fest im Quellcode hinterlegte Zugangsdaten, können Angreifer diese auslesen und sich unbefugt Zugang verschaffen.

  17. Improper Restriction of Operations within the Bounds of a Memory Buffer: Werden Speicheroperationen nicht korrekt auf den vorgesehenen Pufferbereich beschränkt, kann dies zu Abstürzen oder zur Ausführung von beliebigem Code führen.

  18. Missing Authorization: Fehlt eine ordnungsgemäße Autorisierungsprüfung, können Benutzer auf Funktionen und Daten zugreifen, für die sie keine Berechtigung besitzen.

  19. Incorrect Default Permissions: Setzt ein Programm fehlerhafte Standardberechtigungen für Dateien oder Verzeichnisse, können Angreifer unbefugt auf vertrauliche Daten zugreifen.

  20. Exposure of Sensitive Information to an Unauthorized Actor: Werden vertrauliche Daten nicht angemessen geschützt, können unbefugte Dritte darauf zugreifen.

  21. Insufficiently Protected Credentials: Sind Anmeldedaten unzureichend geschützt, können Angreifer diese abgreifen und sich unbefugt Zugang zum System verschaffen.

  22. Incorrect Permission Assignment for Critical Resource: Werden Berechtigungen für kritische Ressourcen fehlerhaft vergeben, können Angreifer unbefugt auf vertrauliche Daten oder Systeme zugreifen.

  23. Improper Restriction of XML External Entity Reference: Schränkt ein Programm externe XML-Entity-Referenzen nicht korrekt ein, kann ein Angreifer darüber auf vertrauliche Daten zugreifen oder Schadcode ausführen.

  24. Server-Side Request Forgery (SSRF): Bei dieser Schwachstelle kann ein Angreifer den Server dazu bringen, Anfragen an interne oder externe Systeme zu senden. Dadurch lassen sich vertrauliche Daten auslesen oder weiterführende Angriffe starten.

  25. Improper Neutralization of Special Elements used in a Command (Command Injection): Werden Benutzereingaben nicht ausreichend bereinigt, bevor sie in einen Befehl einfließen, kann ein Angreifer Schadcode einschleusen und auf dem System ausführen.

Fazit

Die CWE Top 25 von 2021 ist eine wichtige Übersicht der häufigsten und gefährlichsten Softwareschwachstellen. Im Vergleich zur Ausgabe von 2020 enthält die Liste 2021 neue Einträge wie Command Injection, Server-Side Request Forgery (SSRF) und Incorrect Default Permissions. Darüber hinaus wurden einige bestehende Schwachstellen neu gewichtet, darunter Cross-Site Scripting und OS Command Injection. Für Softwareentwickler und Sicherheitsexperten ist die CWE Top 25 eine unverzichtbare Ressource, um die größten Risiken im Blick zu behalten und gezielt Gegenmaßnahmen zu ergreifen.