GitHub Advisoryadvisory · PyPI
GHSA-6xv9-957j-qfhg Label Studio vulnerable to Cross-site Scripting if `<Choices>` or `<Labels>` are used in labeling config
MEDIUM
Official page ↗
- Aliases
- CVE-2024-26152
- Ecosystem
- PyPI
- Packages
- label-studio
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
- Weaknesses
- CWE-79
- Reviewed
- 2024-02-22
Affected packages
• PyPI label-studio: < 1.11.0 → fixed in 1.11.0
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
1. Create a project.
2. 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": ""
}
]
}
}
```
3. Select the text-to-image generation labeling template of Ranking and scoring
4. Select a task
5. 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.
Related
Alias · CVE (1)
- CVE-2024-26152 ### Summary On all Label Studio versions prior to 1.11.0, data imported via file upload feature is not properly sanitized prior to being… vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/HumanSignal/label-studio/security/advisories/GHSA-6xv9-957j-qfhg web
- https://nvd.nist.gov/vuln/detail/CVE-2024-26152 advisory
- https://github.com/HumanSignal/label-studio/pull/5232 web
- https://github.com/HumanSignal/label-studio/commit/5df9ae3828b98652e9fa290a19f4deedf51ef6c8 web
- https://github.com/HumanSignal/label-studio package
- 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 web