CVE-2025-55854 – Stored Cross-Site-Scripting-Schwachstelle (XSS)
Überblick über die Schwachstelle
CVE-ID: CVE-2025-55854
Schwachstellentyp: Stored Cross-Site-Scripting (XSS)
Schweregrad: Hoch
Betroffene Komponente: Benutzerprofil-Bio-Feld
Betroffene Anwendung: FreelanceHub (https://github.com/nooncarlett/FreelanceHub)
Beschreibung
In der Benutzerprofil-Funktionalität der Anwendung FreelanceHub wurde eine Stored Cross-Site-Scripting-Schwachstelle (XSS) entdeckt. Die Schwachstelle besteht aufgrund unzureichender Eingabebereinigung im Bio-Feld, wodurch Angreifer bösartigen JavaScript-Code injizieren können, der ausgeführt wird, wenn andere Benutzer die betroffene Profilseite aufrufen.
Diese Schwachstelle ermöglicht einem Angreifer Folgendes:
- Ausführen von beliebigem JavaScript im Kontext der Browser anderer Benutzer
- Stehlen von Sitzungstokens und Cookies
- Ausführen von Aktionen im Namen authentifizierter Benutzer
- Weiterleitung von Benutzern auf bösartige Websites
- Verunstalten der Anwendungsoberfläche
Betroffene Versionen
- FreelanceHub (alle Versionen vor dem Patch)
- Getestet auf: lokaler Bereitstellung auf Port 8080
Technische Details
Grundursache
Die Anwendung bereinigt Benutzereingaben im Bio-Feld nicht ordnungsgemäß, bevor sie in der Datenbank gespeichert und auf der Profilseite gerendert werden. Das HTML wird direkt gerendert, ohne Sonderzeichen zu maskieren oder potenziell gefährliche Tags und Ereignishandler zu entfernen.
Angriffsvektor
- Angriffsart: Stored XSS
- Eingabevektor: Benutzerprofil-Bio-Feld
- Ausführungskontext: Jeder Benutzer, der das Profil des Angreifers aufruft
- Erforderliche Authentifizierung: Ja (der Angreifer benötigt ein gültiges Konto)
Proof of Concept
Voraussetzungen
- Laufende Instanz der FreelanceHub-Anwendung
- Webbrowser (Chrome, Firefox, Edge usw.)
- Zugriff zur Erstellung eines Benutzerkontos
Schritt-für-Schritt-Reproduktion
Schritt 1: Neues Konto erstellen
- Navigieren Sie zu
http://localhost:8080/auth
- Registrieren Sie sich mit gültigen Anmeldedaten für ein neues Benutzerkonto
- Schließen Sie den Registrierungsprozess ab und melden Sie sich an

Schritt 2: Zur Profilseite navigieren
- Navigieren Sie nach erfolgreicher Anmeldung zu
http://localhost:8080/profile
- Suchen Sie das Bio-Feld im Profilbearbeitungsformular
Schritt 3: XSS-Payload injizieren
- Geben Sie im Bio-Feld den folgenden Payload ein:
- Klicken Sie auf die Schaltfläche Speichern oder Profil aktualisieren
- Warten Sie auf die Bestätigung, dass das Profil aktualisiert wurde
Schritt 5: XSS auslösen
- Besuchen oder laden Sie die Profilseite neu:
http://localhost:8080/profile
- Das JavaScript-Alert-Fenster wird automatisch ausgeführt
- Ergebnis: Der JavaScript-Code wird erfolgreich ausgeführt, was die Stored-XSS-Schwachstelle bestätigt
Erwartetes Verhalten
Die Anwendung sollte die Eingabe bereinigen und entweder:
- Alle HTML-Tags aus dem Bio-Feld entfernen
- Sonderzeichen maskieren (
<, >, ", ' usw.)
- Content-Security-Policy-Header (CSP) implementieren
Tatsächliches Verhalten
Der bösartige HTML/JavaScript-Payload wird in der Datenbank gespeichert und beim Rendern der Profilseite ohne jegliche Bereinigung oder Maskierung ausgeführt.
Auswirkungsbewertung
Schweregrad: HOCH
CVSS-v3.1-Score: 8.1 (Hoch)
Vektor-String: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Auswirkungen in der Praxis
- Session-Hijacking: Angreifer können Sitzungstokens stehlen und Benutzer imitieren
- Diebstahl von Anmeldedaten: Bösartige Skripte können gefälschte Anmeldeformulare erstellen, um Anmeldedaten zu erfassen
- Datencxfiltration: Sensible Benutzerdaten können an vom Angreifer kontrollierte Server gesendet werden
- Malware-Verbreitung: Benutzer können auf bösartige Websites weitergeleitet werden
- Phishing-Angriffe: Die vertrauenswürdige Domain kann zum Hosten überzeugender Phishing-Inhalte verwendet werden
- Kontoübernahme: In Kombination mit anderen Schwachstellen kann dies zur vollständigen Kompromittierung des Kontos führen