CVE-2006-1547
Apache Struts 1 ActionForm Denial-of-Service Vulnerability
Beschreibung
CVE-2006-1547 ist eine Schwachstelle mit dem Schweregrad HIGH für Denial-of-Service (CWE-749) in Apache Struts 1 vor Version 1.2.9 bei Verwendung mit BeanUtils 1.7. Die Schwachstelle befindet sich in der ActionForm-Komponente, die eine gefährliche Methode offenlegt, über die ein nicht authentifizierter Remote-Angreifer eine Denial-of-Service-Bedingung auf dem Anwendungsserver verursachen kann. Mit einem CVSS-3.1-Score von 7.5 ist die Schwachstelle über das Netzwerk mit geringer Komplexität ausnutzbar, erfordert keine Authentifizierung und keine Benutzerinteraktion und beeinträchtigt die Verfügbarkeit der angegriffenen Anwendung. CISA hat CVE-2006-1547 am 21. Januar 2022 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 21. Juli 2022. Der EPSS-Score von 0,15469 (94,55. Perzentile) weist auf eine signifikante Ausnutzungswahrscheinlichkeit hin.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HIm Rechner öffnenCWEs
Betroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| apache | struts | < 1.2.9 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Referenzen
- http://issues.apache.org/bugzilla/show_bug.cgi?id=38534(Issue Tracking, Permissions Required)
- http://lists.suse.com/archive/suse-security-announce/2006-May/0004.html(Broken Link)
- http://secunia.com/advisories/19493(Broken Link)
- http://secunia.com/advisories/20117(Broken Link)
- http://securitytracker.com/id?1015856(Broken Link, Third Party Advisory, VDB Entry)
- http://struts.apache.org/struts-doc-1.2.9/userGuide/release-notes.html(Broken Link, Exploit, Patch, Vendor Advisory)
- http://www.securityfocus.com/bid/17342(Broken Link, Third Party Advisory, VDB Entry)
- http://www.vupen.com/english/advisories/2006/1205(Broken Link)
- https://exchange.xforce.ibmcloud.com/vulnerabilities/25613(Third Party Advisory, VDB Entry)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2006-1547(US Government Resource)
Schwachstellentyp
CWE-749: Exponierte gefährliche Methode oder Funktion
Exponierte gefährliche Methode oder Funktion ist eine Schwachstellenklasse, bei der Software eine Schnittstelle (wie eine API, einen Web-Endpunkt oder eine Framework-Methode) bereitstellt, die Funktionalität umfasst, die nicht für externen Zugriff vorgesehen oder nicht ordnungsgemäß auf autorisierte Benutzer beschränkt ist. Diese Schwäche entsteht, wenn kritische Methoden oder Funktionen für nicht autorisierte Parteien zugänglich werden, entweder weil sie nie für externe Exposition konzipiert wurden oder weil Zugriffsbeschränkungen unzureichend implementiert wurden. Die exponierte Funktionalität kann Angreifern ermöglichen, internen Zustand zu manipulieren, auf sensible Daten zuzugreifen, ressourcenintensive Operationen auszulösen oder die Anwendung zum Absturz zu bringen.
Bei CVE-2006-1547 exponiert die ActionForm-Klasse des Apache Struts 1 Frameworks in Kombination mit BeanUtils 1.7 eine interne Methode über den Property-Mapping-Mechanismus der Form-Bean. Die Introspektionsfähigkeiten der BeanUtils-Bibliothek ermöglichen es externen HTTP-Anfrageparametern, Methoden am ActionForm-Objekt aufzurufen, die nur für den internen Gebrauch bestimmt waren. Durch das Erstellen von HTTP-Anfragen mit spezifischen Parameternamen, die auf gefährliche interne Methoden verweisen, kann ein Angreifer Operationen auslösen, die übermäßige Ressourcen verbrauchen oder die Anwendung in einen nicht wiederherstellbaren Fehlerzustand versetzen. Mehr über Exponierte gefährliche Methode oder Funktion (CWE-749) erfahren
Auswirkungsanalyse
CVE-2006-1547 weist einen CVSS-3.1-Basiswert von 7.5 (HIGH) mit einer fokussierten Auswirkung auf die Anwendungsverfügbarkeit auf.
Vertraulichkeit (Keine): Die Schwachstelle ermöglicht keine direkte Datenoffenlegung. Der Angriff konzentriert sich auf die Störung der Anwendungsverfügbarkeit und nicht auf die Extraktion von Informationen. Die exponierte Methode verursacht eine Denial-of-Service-Bedingung, ohne dem Angreifer Zugriff auf Anwendungsdaten, Benutzeranmeldedaten oder interne Systeminformationen zu gewähren.
Integrität (Keine): Die Schwachstelle erlaubt keine Modifikation von Anwendungsdaten oder -konfiguration. Der Angriff nutzt die exponierte Methode zur Betriebsstörung, bietet dem Angreifer jedoch nicht die Möglichkeit, Datenbankeinträge zu verändern, Anwendungslogik zu modifizieren oder gespeicherte Daten zu manipulieren.
Verfügbarkeit (Hoch): Die primäre Auswirkung von CVE-2006-1547 betrifft die Verfügbarkeit. Durch das Senden speziell gestalteter HTTP-Anfragen, die die exponierte gefährliche Methode aufrufen, kann ein Angreifer die Struts-Anwendung zum Absturz bringen oder sie nicht mehr reagieren lassen. Dies betrifft alle Benutzer der Anwendung und kann geschäftskritische Abläufe stören, die von der Struts-basierten Webanwendung abhängen. Abhängig von der Deployment-Architektur kann der Denial-of-Service einen manuellen Neustart des Anwendungsservers erfordern.
Scope (Unverändert): Die Auswirkung der Schwachstelle ist auf die betroffene Struts-Anwendung und ihre Hosting-Infrastruktur beschränkt. Wenn die Struts-Anwendung jedoch eine kritische Komponente eines größeren Systems ist (z.B. ein Unternehmensportal oder eine kundenorientierte Anwendung), können die geschäftlichen Auswirkungen erheblich sein. Der EPSS-Score von 0,15469 (94,55. Perzentile) zeigt, dass die Ausnutzung deutlich über dem Durchschnitt liegt.
Exploit-Reifegrad
Aktive Ausnutzung: CVE-2006-1547 wird nachweislich aktiv ausgenutzt. CISA hat die Schwachstelle am 21. Januar 2022 in den Known Exploited Vulnerabilities (KEV) Katalog aufgenommen, mit einer Behebungsfrist für Bundesbehörden bis zum 21. Juli 2022. Trotz ihres relativ hohen Alters (offengelegt 2006) spiegelt ihre fortgesetzte Präsenz im KEV-Katalog das anhaltende Risiko durch ungepatchte Legacy-Struts-1-Anwendungen wider.
Ransomware-Bezug: Der CISA-KEV-Katalog ordnet CVE-2006-1547 keinen bekannten Ransomware-Kampagnen zu. Als Denial-of-Service-Schwachstelle wird sie häufiger für Störungen ausgenutzt als als initialer Zugriffsvektor für Ransomware.
Öffentliche Exploits: Die Apache Struts 1 Release Notes für Version 1.2.9 dokumentieren die Schwachstelle und den Fix. Aufgrund des Alters dieser Schwachstelle und des weit verbreiteten Wissens über Struts-Parameter-Binding-Probleme sind Ausnutzungstechniken in der Sicherheitscommunity gut dokumentiert und leicht verfügbar.
EPSS-Kontext: Der EPSS-Score von 0,15469 (94,55. Perzentile) platziert diese Schwachstelle in den obersten 5,5% aller CVEs hinsichtlich der Ausnutzungswahrscheinlichkeit. Obwohl niedriger als bei kritischen RCE-Schwachstellen, ist dies immer noch ein signifikanter Score, der aktives Scanning und Ausnutzung von Legacy-Struts-1-Anwendungen widerspiegelt.
KEV-Frist: Die CISA-Behebungsfrist war der 21. Juli 2022. Organisationen, die Legacy-Struts-1-Anwendungen betreiben, sollten Upgrades oder Migration auf unterstützte Frameworks als dringende Priorität behandeln.
Behebung
-
Apache Struts 1 auf Version 1.2.9 oder höher aktualisieren. Die Schwachstelle ist in Struts 1.2.9 behoben, das die exponierte Methode in ActionForm adressiert. Beachten Sie jedoch, dass Apache Struts 1 seit 2013 End-of-Life erreicht hat und keine Sicherheitsupdates mehr erhält. Ein Upgrade innerhalb von Struts 1 sollte nur als temporäre Mitigation betrachtet werden.
-
Auf ein unterstütztes Web-Framework migrieren. Apache Struts 1 ist seit 2013 End-of-Life und weist zahlreiche ungepatchte Schwachstellen jenseits von CVE-2006-1547 auf. Planen und führen Sie eine Migration auf ein aktuell unterstütztes Framework wie Apache Struts 2 (mit aktuellen Patches), Spring MVC, Jakarta EE oder ein anderes modernes Web-Framework mit aktiver Sicherheitswartung durch.
-
BeanUtils auf eine sichere Version aktualisieren. Die Schwachstelle wird spezifisch in Kombination mit BeanUtils 1.7 ausgelöst. Aktualisieren Sie Apache Commons BeanUtils auf die neueste Version, die Property-Access-Einschränkungen enthält, die die Ausnutzung reflexionsbasierter Parameter-Binding-Schwachstellen verhindern.
-
Eingabevalidierung auf Web Application Firewall-Ebene implementieren. Setzen Sie WAF-Regeln ein, um HTTP-Anfragen zu filtern und zu blockieren, die Parameternamen enthalten, die auf gefährliche interne Methoden von ActionForm und BeanUtils verweisen. Dies bietet Defense-in-Depth, während die Migration auf ein unterstütztes Framework durchgeführt wird.
-
Netzwerkzugriff auf die verwundbare Anwendung einschränken. Falls die Struts-1-Anwendung nicht sofort aktualisiert oder migriert werden kann, beschränken Sie den Zugriff auf vertrauenswürdige Netzwerke und Benutzer. Entfernen Sie die Anwendung nach Möglichkeit aus der öffentlichen Internetexposition und implementieren Sie Rate-Limiting, um die Auswirkungen von Denial-of-Service-Versuchen zu reduzieren.
-
Umfassende Legacy-Anwendungsüberprüfung durchführen. CVE-2006-1547 ist wahrscheinlich nur eine von vielen Schwachstellen in End-of-Life-Struts-1-Deployments. Führen Sie eine gründliche Sicherheitsbewertung aller Legacy-Webanwendungen durch, um die Behebung der risikoreichsten Komponenten zu identifizieren und zu priorisieren.
Technische Details
CVE-2006-1547 ist eine Denial-of-Service-Schwachstelle in Apache Struts 1 vor Version 1.2.9, die spezifisch ausgelöst wird, wenn das Framework BeanUtils 1.7 für die Form-Bean-Property-Population verwendet. Das Struts-Framework nutzt Apache Commons BeanUtils, um HTTP-Anfrageparameter automatisch über Java-Reflexion und Introspektion auf Properties von ActionForm-Objekten abzubilden.
Die Schwachstelle entsteht, weil der Property-Population-Mechanismus von BeanUtils 1.7 nicht ausreichend einschränkt, welche Methoden über Parameternamen-Mapping aufgerufen werden können. Die BeanUtils-Introspektions-Engine entdeckt alle öffentlichen Methoden der ActionForm-Klasse (und ihrer Elternklassen) und macht sie über HTTP-Anfrageparameter zugänglich. Durch das Erstellen von Anfrageparameternamen, die internen Methodennamen entsprechen, kann ein Angreifer Operationen aufrufen, die nie für externen Zugriff vorgesehen waren.
Der CVSS-3.1-Vektor zeigt AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, was darauf hinweist, dass der Angriff netzwerkbasiert ist, keine Authentifizierung erfordert und nur die Verfügbarkeit beeinträchtigt. Die Angriffskomplexität ist niedrig, da die zum Auslösen der Schwachstelle erforderlichen Parameternamen durch Analyse der Struts- und BeanUtils-APIs bestimmt werden können.
Die Grundursache ist eine Design-Limitation im reflexionsbasierten Parameter-Binding-Ansatz von Struts 1 und BeanUtils. Durch die Behandlung aller öffentlichen Methoden als potenziell setzbare Properties schafft das Framework eine implizite Angriffsfläche, die mit jeder Methode wächst, die der ActionForm-Klassenhierarchie hinzugefügt wird. Der Fix in Struts 1.2.9 führte Property-Access-Einschränkungen ein, um den externen Aufruf von Methoden zu verhindern, die nicht als Form-Properties vorgesehen sind.
Häufig gestellte Fragen
Was ist CVE-2006-1547?
CVE-2006-1547 ist eine Denial-of-Service-Schwachstelle in Apache Struts 1 vor Version 1.2.9 bei Verwendung mit BeanUtils 1.7. Die Schwachstelle besteht in der ActionForm-Komponente, die eine gefährliche interne Methode über den reflexionsbasierten Parameter-Binding-Mechanismus des Frameworks offenlegt. Ein nicht authentifizierter Remote-Angreifer kann speziell gestaltete HTTP-Anfragen senden, um die Struts-Anwendung zum Absturz zu bringen oder zu stören.
Welche Anwendungen sind von CVE-2006-1547 betroffen?
Jede Webanwendung, die auf Apache Struts 1 vor Version 1.2.9 basiert und BeanUtils 1.7 für die Form-Bean-Population verwendet, ist betroffen. Dies umfasst eine breite Palette von Enterprise-Java-Webanwendungen, die zwischen 2001 und Mitte der 2010er Jahre deployed wurden. Da Struts 1 seit 2013 End-of-Life erreicht hat, laufen betroffene Anwendungen auf einem nicht unterstützten Framework ohne weitere verfügbare Sicherheitspatches.
Wie behebe ich CVE-2006-1547?
Der sofortige Fix ist ein Upgrade auf Apache Struts 1.2.9 oder höher, das die exponierte Methode einschränkt. Da Struts 1 jedoch End-of-Life ist, ist die empfohlene langfristige Lösung eine Migration auf ein unterstütztes Web-Framework wie Spring MVC, Struts 2 (mit aktuellen Patches) oder Jakarta EE. Setzen Sie in der Zwischenzeit WAF-Regeln ein, um Ausnutzungsversuche zu blockieren, und beschränken Sie den Netzwerkzugriff auf die verwundbare Anwendung.
Wie schwerwiegend ist CVE-2006-1547?
CVE-2006-1547 ist mit einem CVSS-3.1-Score von 7.5 als HIGH eingestuft. Obwohl sie nur die Verfügbarkeit beeinträchtigt (nicht Vertraulichkeit oder Integrität), bestätigt der EPSS-Score von 0,15469 (94,55. Perzentile) eine signifikante Ausnutzungsaktivität. CISA hat sie in den Known Exploited Vulnerabilities Katalog aufgenommen, was das anhaltende Risiko durch ungepatchte Legacy-Struts-1-Anwendungen in Unternehmensumgebungen widerspiegelt.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.