{"answers":{"affected":"2 open source packages ship an affected version, including october/backend. It affects 1 product.","exploited":"There is no known exploitation of CVE-2020-15249 in the wild and no public exploit code.","fix":"Upgrade october/backend to 1.0.469 or later.","what":"CVE-2020-15249 is a low-severity cross-site scripting vulnerability in Octobercms October, published on 23 Nov 2020. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2020-15249 and fix it if it is affected.\n\nWhat it is: CVE-2020-15249 is a low-severity cross-site scripting vulnerability in Octobercms October, published on 23 Nov 2020. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2020-15249 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- october/backend (Packagist): affected from 1.0.319; fixed in 1.0.469\n- october/backend (Packagist): affected from 1.0.319; fixed in 1.0.469\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2020-15249/ (Markdown: https://insights.sbomify.com/CVE-2020-15249/index.md)","id":"CVE-2020-15249","markdown":"https://insights.sbomify.com/CVE-2020-15249/index.md","name":"CVE-2020-15249","record":{"aliases":["GHSA-fx3v-553x-3c4q"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"October CMS","requires_auth":"low_privilege","summary":"Authenticated backend users can upload unsanitized SVG files containing JavaScript, leading to stored XSS when victims visit the file URL directly.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"october","vendor":"octobercms"}],"cvss":{"score":2.8,"severity":"low","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"}],"description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, backend users with access to upload files were permitted to upload SVG files without any sanitization applied to the uploaded files. Since SVG files support being parsed as HTML by browsers, this means that they could theoretically upload Javascript that would be executed on a path under the website's domain (i.e. /storage/app/media/evil.svg), but they would have to convince their target to visit that location directly in the target's browser as the backend does not display SVGs inline anywhere, SVGs are only displayed as image resources in the backend and are thus unable to be executed. Issue has been patched in Build 469 (v1.0.469) \u0026 v1.1.0.","ecosystems":["Packagist"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Stored XSS by authenticated backend user with access to upload files","id":"CVE-2020-15249","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Packagist","product":"octobercms:october","products":["octobercms:october"],"type":"xss","year":"2020"},"n_packages":2,"n_references":2,"next":{"headline":"Information disclosure in JUnit4","id":"CVE-2020-15250"},"packages":[{"ecosystem":"Packagist","fixed":["1.0.469"],"introduced":["1.0.319"],"last_affected":[],"package":"october/backend","purl":null,"source":"GHSA-fx3v-553x-3c4q"},{"ecosystem":"Packagist","fixed":["1.0.469"],"introduced":["1.0.319"],"last_affected":[],"package":"october/backend","purl":"pkg:composer/october/backend","source":"GHSA-fx3v-553x-3c4q"}],"prev":{"headline":"Privilege escalation by backend users assigned to the default \"Publisher\" system role","id":"CVE-2020-15248"},"products":["october"],"published":"2020-11-23","related":[{"cvss_score":8.2,"headline":"October CMS Improper Authentication","id":"CVE-2021-32648","kev_date_added":"2022-01-18","published":"2021-08-26"},{"cvss_score":9.8,"headline":"October CMS Session ID not invalidated after logout","id":"CVE-2021-3311","kev_date_added":null,"published":"2021-02-05"},{"cvss_score":9.8,"headline":"October CMS File Upload Vulnerability","id":"CVE-2017-1000194","kev_date_added":null,"published":"2017-11-17"},{"cvss_score":9.8,"headline":"Code injection in n/a","id":"CVE-2017-1000196","kev_date_added":null,"published":"2017-11-17"},{"cvss_score":9.8,"headline":"Path traversal in n/a","id":"CVE-2017-1000197","kev_date_added":null,"published":"2017-11-17"},{"cvss_score":9.1,"headline":"October CMS safe mode bypass using Twig sandbox escape","id":"CVE-2023-44382","kev_date_added":null,"published":"2023-12-01"},{"cvss_score":8.8,"headline":"Authenticated file write leads to remote code execution in october/system","id":"CVE-2021-32649","kev_date_added":null,"published":"2022-01-14"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2024-08-04","vendors":["octobercms"]},"summary":"Authenticated backend users can upload unsanitized SVG files containing JavaScript, leading to stored XSS when victims visit the file URL directly.","url":"https://insights.sbomify.com/CVE-2020-15249/"}