CVE-2026-121561
Full vulnerability record from the local CVENow database.
Description
Label Studio before 1.23.2 (label-studio-sdk before 2.1.2) contains a server-side request forgery vulnerability that allows authenticated users to read internal URLs through image-bearing export formats. Attackers can import tasks with data.image pointing at internal services, export as YOLO or COCO with images to read responses, and spoof Host to capture the organization owner's API token.
Severity
MEDIUM
CVSS score
6.3
(v4.0)
Vulnerability status
Awaiting Analysis
Source identifier
Published
2026-11-03 16:17:28.940000
Last modified
2026-11-03 16:30:17.150000
View original CVE JSON
{
"id": "CVE-2026-121561",
"sourceIdentifier": "[email protected]",
"published": "2026-11-03T16:17:28.940",
"lastModified": "2026-11-03T16:30:17.150",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Label Studio before 1.23.2 (label-studio-sdk before 2.1.2) contains a server-side request forgery vulnerability that allows authenticated users to read internal URLs through image-bearing export formats. Attackers can import tasks with data.image pointing at internal services, export as YOLO or COCO with images to read responses, and spoof Host to capture the organization owner's API token."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "HumanSignal",
"product": "label-studio",
"defaultStatus": "unaffected",
"repo": "https://github.com/HumanSignal/label-studio",
"packageURL": "pkg:pypi/label-studio",
"versions": [
{
"version": "0",
"lessThan": "1.23.2",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "HumanSignal",
"product": "label-studio-sdk",
"defaultStatus": "unaffected",
"repo": "https://github.com/HumanSignal/label-studio-sdk",
"packageURL": "pkg:pypi/label-studio-sdk",
"versions": [
{
"version": "0",
"lessThan": "2.1.2",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 6.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
"baseScore": 7.7,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 3.1,
"impactScore": 4.0
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-918"
}
]
}
],
"references": [
{
"url": "https://github.com/HumanSignal/label-studio-sdk/blob/2.1.1/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py#L299-L338",
"source": "[email protected]"
},
{
"url": "https://github.com/HumanSignal/label-studio-sdk/blob/2.1.1/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py#L62-L71",
"source": "[email protected]"
},
{
"url": "https://github.com/HumanSignal/label-studio-sdk/commit/c20c899aaaa302740dacd46a47e5774bb677561f",
"source": "[email protected]"
},
{
"url": "https://github.com/HumanSignal/label-studio/blob/1.23.1/label_studio/data_export/models.py#L160-L167",
"source": "[email protected]"
},
{
"url": "https://github.com/HumanSignal/label-studio/commit/df96d79183156e556d91825d15fa7721f1145e1a",
"source": "[email protected]"
},
{
"url": "https://github.com/HumanSignal/label-studio/security/advisories/GHSA-6437-7wc6-gmx5",
"source": "[email protected]"
},
{
"url": "https://www.vulncheck.com/advisories/label-studio-before-1.23.2-ssrf-and-token-disclosure-via-image-export-downloads",
"source": "[email protected]"
}
]
}