{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-55876", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-06-17T16:59:42.759Z", "datePublished": "2026-10-15T17:23:07.781Z", "dateUpdated": "2026-10-15T17:23:07.781Z" }, "containers": { "cna": { "title": "Helium: Stored XSS via Unrestricted SVG File Upload — Authenticated Users Can Store Executable Scripts", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-79", "lang": "en", "description": "CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')", "type": "CWE" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 3.5, "baseSeverity": "LOW", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N", "version": "3.1" } } ], "references": [ { "name": "https://github.com/HeliumEdu/platform/security/advisories/GHSA-7r65-76fw-ch5c", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/HeliumEdu/platform/security/advisories/GHSA-7r65-76fw-ch5c" }, { "name": "https://github.com/HeliumEdu/platform/commit/f0de5c985c701942758b805a3d11dfb008a6af88", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/HeliumEdu/platform/commit/f0de5c985c701942758b805a3d11dfb008a6af88" } ], "affected": [ { "vendor": "HeliumEdu", "product": "platform", "versions": [ { "version": "< 2.2.60", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-10-15T17:23:07.781Z" }, "descriptions": [ { "lang": "en", "value": "Helium is a free online student planner for classes, homework, grades, and notes. Prior to 2.2.60, the POST /planner/attachments/ endpoint allows authenticated users to upload SVG and HTML attachments because conf/configs/common.py omits those formats from BLOCKED_ATTACHMENT_EXTENSIONS and BLOCKED_ATTACHMENT_MIME_TYPES, and helium/planner/serializers/attachmentserializer.py relies on those blocklists. An uploaded SVG served as image/svg+xml can execute embedded script when a visitor opens its public attachment URL, allowing persistent attacker-controlled active content and phishing under an application-managed storage URL. The attachment storage uses a separate origin from the application, so same-origin policy prevents the script from reading application cookies or storage, and application-session compromise is not supported by the maintained deployment configuration. This issue is fixed in version 2.2.60." } ], "source": { "advisory": "GHSA-7r65-76fw-ch5c", "discovery": "UNKNOWN" } } } }