{"id":"CVE-2024-26152","aliases":["GHSA-6xv9-957j-qfhg","PYSEC-2024-249"],"url":"https://o3.security/vulnerability/CVE-2024-26152","summary":"Label Studio vulnerable to Cross-site Scripting if `<Choices>` or `<Labels>` are used in labeling config ","details":"### Summary\nOn 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.\n\n### Details\nNeed permission to use the \"data import\" function. This was reproduced on Label Studio 1.10.1.\n\n### PoC\n\n1. Create a project.\n![Create a project](https://github.com/HumanSignal/label-studio/assets/3943358/9b1536ad-feac-4238-a1bd-ca9b1b798673)\n\n2. Upload a file containing the payload using the \"Upload Files\" function.\n![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)\n![3  complete](https://github.com/HumanSignal/label-studio/assets/3943358/f2f62774-1fa6-4456-9e6f-8fa1ca0a2d2e)\n\nThe following are the contents of the files used in the PoC\n```\n{\n  \"data\": {\n    \"prompt\": \"labelstudio universe image\",\n    \"images\": [\n      {\n        \"value\": \"id123#0\",\n        \"style\": \"margin: 5px\",\n        \"html\": \"<img width='400' src='https://labelstud.io/_astro/images-tab.64279c16_ZaBSvC.avif' onload=alert(document.cookie)>\"\n      }\n    ]\n  }\n}\n```\n\n3. Select the text-to-image generation labeling template of Ranking and scoring\n![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)\n![5  save](https://github.com/HumanSignal/label-studio/assets/3943358/9b529f8a-8e99-4bb0-bdf6-bb7a95c9b75d)\n\n4. Select a task\n![4  Select a task](https://github.com/HumanSignal/label-studio/assets/3943358/71856b7a-2b1f-44ea-99ab-fc48bc20caa7)\n\n5. Check that the script is running\n![5  Check that the script is running](https://github.com/HumanSignal/label-studio/assets/3943358/e396ae7b-a591-4db7-afe9-5bab30b48cb9)\n\n### Impact\nMalicious 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.\n","published":"2024-02-22T21:52:26.193Z","modified":"2026-08-12T03:51:46.154478567Z","cvss":{"score":4.7,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"label-studio","fixedVersion":"1.11.0"}],"fix":{"url":"https://github.com/HumanSignal/label-studio/commit/5df9ae3828b98652e9fa290a19f4deedf51ef6c8","label":"HumanSignal/label-studio@5df9ae3"},"references":[{"type":"WEB","url":"https://github.com/HumanSignal/label-studio/releases/tag/1.11.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26152.json"},{"type":"ADVISORY","url":"https://github.com/HumanSignal/label-studio/security/advisories/GHSA-6xv9-957j-qfhg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-26152"},{"type":"FIX","url":"https://github.com/HumanSignal/label-studio/commit/5df9ae3828b98652e9fa290a19f4deedf51ef6c8"},{"type":"FIX","url":"https://github.com/HumanSignal/label-studio/pull/5232"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:46.154478567Z"}}