CVE-2024-47950
May 13, 2025
- Anwendung/Komponente: JetBrains TeamCity
- Betroffene Version: < 2024.07.3
- Score (CVSS 3.1): 5.4 Medium
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- CWEs:
- CWE-79: Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)
- CVE: CVE-2024-47950
Im Rahmen eine näheren Analyse von JetBrains TeamCity konnte ich eine Schwachstelle finden.
Beschreibung
TeamCity unterstützt das Erstellen von Backups. Um Backups erstellen zu können, benötigt
ein Nutzer die Berechtigung Change backup settings and control backup process
.
Auf der Maske kann der Name einer Backupdatei angegeben werden. Der Dateiname wird im Tab Run Backup
sowie im Tab History
angezeigt. Die Eingabe wird nicht sanitarisiert.
Wird Javascript-Code / HTML-Code eingegeben, wird dieser Code ausgeführt, was zu einer (stored) XSS führt.
Proof of Concept
Im Formularfeld Backup file
auf dem Tab Run Backup
wird folgender Dateiname eingegeben:
"><script>alert(); </script>
Wird der Button “Start Backup” gedrückt, wird der Code ausgeführt:
Öffnet man den Tab “History”, wird dieser Code immer wieder ausgeführt (stored XSS):
Lessons learned
Alle Inputeingaben sind zu prüfen und zu sanitarisieren. Auch wenn die Auswirkungen im
vorliegendem Fall begrenzt sind - es können nur User angegriffen werden, die ebenfalls
diese Berechtigung haben, zudem waren die Session-Cookies mit HttpOnly
geschützt - kann dies
je nach Anwendungsfall zu erfolgreichen Angriffen führen. Gerade im Bereich des internen Phishings
nicht zu unterschätzen.
Hinweis
Alle Tests wurden auf der eigenen, lokalen Instanz (mittels Docker) durchgeführt sowie mit eigenen, erstellten Test-Nutzerdaten.
Jetbrains hat schnell, konstruktiv und professionell reagiert.
Timeline
- Meldung am 12.09.2024 an JetBrains
- Rückmeldung am 12.09.2024
- Fehler behoben am 24.09.2024
- Patch veröffentlicht am 01.10.2024
- CVE-Eintrag am 08.10.2024 mit CVE-2024-47950
- Release des Blog-Eintrages: 13.05.2025