CVE-2024-26152
Label Studio vulnerable to Cross-site Scripting if `<Choices>` or `<Labels>` are used in labeling config
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
### Summary
On all Label Studio versions prior to 1.11.0, data imported via file upload feature is not properly sanitized prior to being rendered within a [`Choices`](https://labelstud.io/tags/choices) or [`Labels`](https://labelstud.io/tags/labels) tag, resulting in an XSS vulnerability.
### Details
Need permission to use the "data import" function. This was reproduced on Label Studio 1.10.1.
### PoC
1. Create a project.
![Create a project](https://github.com/HumanSignal/label-studio/assets/3943358/9b1536ad-feac-4238-a1bd-ca9b1b798673)
2. Upload a file containing the payload using the "Upload Files" function.
![2 Upload a file containing the payload using the Upload Files function](https://github.com/HumanSignal/label-studio/assets/3943358/26bb7af1-1cd2-408f-9adf-61e31a5b7328)
![3 complete](https://github.com/HumanSignal/label-studio/assets/3943358/f2f62774-1fa6-4456-9e6f-8fa1ca0a2d2e)
The following are the contents of the files used in the PoC
```
{
"data": {
"prompt": "labelstudio universe image",
"images": [
{
"value": "id123#0",
"style": "margin: 5px",
"html": "<img width='400' src='https://labelstud.io/_astro/images-tab.64279c16_ZaBSvC.avif' onload=alert(document.cookie)>"
}
]
}
}
```
3. Select the text-to-image generation labeling template of Ranking and scoring
![3 Select the text-to-image generation labelling template for Ranking and scoring](https://github.com/HumanSignal/label-studio/assets/3943358/f227f49c-a718-4738-bc2a-807da4f97155)
![5 save](https://github.com/HumanSignal/label-studio/assets/3943358/9b529f8a-8e99-4bb0-bdf6-bb7a95c9b75d)
4. Select a task
![4 Select a task](https://github.com/HumanSignal/label-studio/assets/3943358/71856b7a-2b1f-44ea-99ab-fc48bc20caa7)
5. Check that the script is running
![5 Check that the script is running](https://github.com/HumanSignal/label-studio/assets/3943358/e396ae7b-a591-4db7-afe9-5bab30b48cb9)
### Impact
Malicious scripts can be injected into the code, and when linked with vulnerabilities such as CSRF, it can cause even greater damage. In particular, It can become a source of further attacks, especially when linked to social engineering.
### Resumen En todas las versiones de Label Studio anteriores a la 1.11.0, los datos importados mediante la función de carga de archivos no se desinfectan adecuadamente antes de procesarse dentro de [`Choices`](https://labelstud.io/tags/choices) o [`Labels`](https://labelstud.io/tags/labels), lo que genera una vulnerabilidad XSS. ### Detalles Necesita permiso para utilizar la función "importación de datos". Esto fue reproducido en Label Studio 1.10.1. ### PoC 1. Cree un proyecto. ![Crear un proyecto](https://github.com/HumanSignal/label-studio/assets/3943358/9b1536ad-feac-4238-a1bd-ca9b1b798673) 2. Cargue un archivo que contenga la carga útil usando la función "Cargar archivos" . ![2 Cargue un archivo que contenga la carga útil usando la función Cargar archivos](https://github.com/HumanSignal/label-studio/assets/3943358/26bb7af1-1cd2-408f-9adf-61e31a5b7328) ![3 completo]( https://github.com/HumanSignal/label-studio/assets/3943358/f2f62774-1fa6-4456-9e6f-8fa1ca0a2d2e) Los siguientes son los contenidos de los archivos utilizados en el PoC ``` { "data": { " Prompt": "imagen del universo de labelstudio", "images": [ { "value": "id123#0", "style": "margin: 5px", "html": "" } ] } } ``` 3. Seleccione la plantilla de etiquetado de generación de texto a imagen de Clasificación y puntuación![3 Seleccione la plantilla de etiquetado de generación de texto a imagen para Clasificación y puntuación](https://github.com/HumanSignal/label-studio/assets/3943358/f227f49c-a718-4738-bc2a-807da4f97155)![ 5 guardar](https://github.com/HumanSignal/label-studio/assets/3943358/9b529f8a-8e99-4bb0-bdf6-bb7a95c9b75d) 4. ¡Seleccione una tarea! [4 Seleccione una tarea](https://github.com/HumanSignal/label-studio/assets/3943358/71856b7a-2b1f-44ea-99ab-fc48bc20caa7) 5. ¡Compruebe que el script se esté ejecutando! [5 Compruebe que el script se esté ejecutando](https://github.com/ HumanSignal/label-studio/assets/3943358/e396ae7b-a591-4db7-afe9-5bab30b48cb9) ### Impacto Se pueden inyectar scripts maliciosos en el código y, cuando se vinculan con vulnerabilidades como CSRF, pueden causar un daño aún mayor. En particular, puede convertirse en una fuente de nuevos ataques, especialmente cuando se vincula a la ingeniería social.
CVSS Scores
SSVC
- Decision:Track*
Timeline
- 2024-02-14 CVE Reserved
- 2024-02-22 CVE Published
- 2024-02-23 EPSS Updated
- 2024-08-14 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CAPEC
References (4)
URL | Tag | Source |
---|---|---|
https://github.com/HumanSignal/label-studio/commit/5df9ae3828b98652e9fa290a19f4deedf51ef6c8 | X_refsource_misc | |
https://github.com/HumanSignal/label-studio/pull/5232 | X_refsource_misc | |
https://github.com/HumanSignal/label-studio/releases/tag/1.11.0 | X_refsource_misc | |
https://github.com/HumanSignal/label-studio/security/advisories/GHSA-6xv9-957j-qfhg | X_refsource_confirm |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
HumanSignal Search vendor "HumanSignal" | Label-studio Search vendor "HumanSignal" for product "Label-studio" | < 1.11.0 Search vendor "HumanSignal" for product "Label-studio" and version " < 1.11.0" | en |
Affected
|