{"data":{"id":"531fdfda-d087-4a3a-ba97-71bf904e32a4","title":"CVE-2026-28415: Gradio is an open-source Python package designed for quick prototyping. Prior to version 6.6.0, the…","summary":"CVE-2026-28415 affects Gradio, an open-source Python package for prototyping, before version 6.6.0. The _redirect_to_target() function in Gradio's OAuth flow accepts an unvalidated _target_url query parameter, allowing redirection to arbitrary external URLs via the /logout and /login/callback endpoints on apps with OAuth enabled, such as apps running on Hugging Face Spaces with gr.LoginButton.","solution":"Starting in version 6.6.0, the _target_url parameter is sanitized to only use the path, query, and fragment, stripping any scheme or host.","labels":["security"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-28415","publishedAt":"2026-02-27T22:16:24.497Z","cveId":"CVE-2026-28415","cweIds":["CWE-200","CWE-284","CWE-330","CWE-601"],"cvssScore":"4.3","cvssSeverity":"medium","severity":"medium","attackType":["other"],"issueType":"vulnerability","affectedPackages":["gradio@< 6.6.0 (fixed: 6.6.0)"],"affectedPackageNames":["gradio"],"affectedPackageRefs":["pypi:gradio"],"affectedVendors":["HuggingFace"],"affectedVendorsRaw":["Gradio","Hugging Face Spaces"],"classifierModel":"claude-haiku-5-5","classifierPromptVersion":"v4","summaryPromptVersion":"v2","headline":"Gradio OAuth open redirect via _target_url on /logout and /login/callback","headlinePromptVersion":"h1","cvssVector":null,"attackVector":null,"attackComplexity":null,"privilegesRequired":null,"userInteraction":null,"exploitMaturity":"unknown","epssScore":0.00288,"epssCheckedAt":"2026-11-04T06:10:14.827Z","kevDateAdded":null,"advisoryAliases":["GHSA-pfjf-5gxr-995x"],"affectedPackagesSource":"ghsa","affectedPackagesCheckedAt":"2026-10-10T03:50:39.342Z","patchAvailable":true,"disclosureDate":null,"fixReleasedAt":"2026-02-17T22:32:57.131Z","daysToFix":-10,"fixCheckedAt":"2026-10-29T21:40:25.110Z","capecIds":["CAPEC-116","CAPEC-20"],"crossRefCount":0,"attackSophistication":"trivial","impactType":["confidentiality","integrity"],"aiComponentTargeted":"framework","llmSpecific":false,"classifierConfidence":0.8,"researchCategory":null,"atlasIds":null,"fixes":[{"ecosystem":"pypi","name":"gradio","fixedVersion":"6.6.0","matchedVersion":"6.6.0","fixReleasedAt":"2026-02-17T22:32:57.131Z","daysToFix":-10,"match":"ecosystem","source":"tracked","status":"found","checkedAt":"2026-10-29T21:40:24.964Z"}]}}