{"schemaVersion":3,"id":"CVE-2026-73650","aliases":["GHSA-2p49-hgcm-8545","CGA-278r-4c26-3w2p","CGA-59w3-j98h-vvc2","CGA-5jwf-jwx4-622r","CGA-6pwg-gcqv-363c","CGA-fp4x-4jx6-c8hv","CGA-h36c-mp85-rp6v","CGA-vxvj-w9xj-4q7f","CGA-x32c-4pw5-frh7","DEBIAN-CVE-2026-73650"],"status":"published","duplicateOf":null,"title":null,"description":"SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 1.0.0 until versions 2.8.3, 3.3.4, and 4.0.2, the removeScripts plugin, named removeScriptElement in versions 1 through 3, can leave executable content in optimized SVGs because it does not remove namespaced or prefixed script elements such as <svg:script> and, in versions 3 and 4, matches JavaScript URIs case sensitively. Applications that process untrusted SVG input with this plugin enabled and serve the result can allow scripts to execute when another user opens the SVG, exposing local storage or cookies. This issue is fixed in versions 2.8.3, 3.3.4, and 4.0.2.","dates":{"published":"2026-08-13T18:08:36.292Z","modified":"2026-08-18T01:31:46.442Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.2,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","exploitability":7.2,"impact":7.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","exploitability":7.2,"impact":7.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","exploitability":7.2,"impact":7.8,"computed":true}]},"epss":{"probability":0.00435,"percentile":0.36651,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.19299999999999998,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.00242},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00435,"percentile":0.36651}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00242,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00435,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00435,"percentile":0.36651}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","description":"The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-184","name":"Incomplete List of Disallowed Inputs","description":"The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/184.html"}],"affected":[{"vendor":"chainguard","product":"airflow-2","name":"airflow-2","label":"airflow-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"airflow-core-2","name":"airflow-core-2","label":"airflow-core-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-core-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"arangodb-3.11","name":"arangodb-3.11","label":"arangodb-3.11","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/arangodb-3.11","purlType":"apk","versions":[{"text":"< 3.11.14.5-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.11.14.5-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"arangodb-3.12","name":"arangodb-3.12","label":"arangodb-3.12","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/arangodb-3.12","purlType":"apk","versions":[{"text":"< 3.12.9.4-r15","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.12.9.4-r15","eol":null,"hubHref":null},{"vendor":"debian","product":"node-svgo","name":"node-svgo","label":"node-svgo","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/node-svgo","purlType":"deb","versions":[{"text":"< 3.3.5+ds-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.5+ds-1","eol":null,"hubHref":null},{"vendor":"Npm","product":"svgo","name":"svgo","label":"svgo","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/svgo","purlType":"npm","versions":[{"text":"≥ 1.0.0, < 2.8.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.0.0, < 3.3.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.0, < 4.0.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.0.0, < 2.8.3 | ≥ 3.0.0, < 3.3.4 | ≥ 4.0.0, < 4.0.2","eol":null,"hubHref":null},{"vendor":"svg","product":"svgo","name":"svgo","label":"svgo","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 1.0.0, < 2.8.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.0.0, < 3.3.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.0, < 4.0.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.0.0, < 2.8.3 | ≥ 3.0.0, < 3.3.4 | ≥ 4.0.0, < 4.0.2","eol":null,"hubHref":"/vendor/svg/svgo"}],"affectedCount":7,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/svg/svgo/security/advisories/GHSA-2p49-hgcm-8545","label":"github.com/svg/svgo/security/advisories/GHSA-2p49-hgcm-8545","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory"]},{"url":"https://github.com/svg/svgo/commit/628e3bc7336625a30365d0a9b60185307d852466","label":"github.com/svg/svgo/commit/628e3bc7336625a30365d0a9b60185307d852466","hostname":"github.com","tags":["X Refsource MISC","WEB","FIX"]},{"url":"https://github.com/svg/svgo/commit/72a23886b4698b27624b936f3a15a80afd36d75f","label":"github.com/svg/svgo/commit/72a23886b4698b27624b936f3a15a80afd36d75f","hostname":"github.com","tags":["X Refsource MISC","WEB","FIX"]},{"url":"https://github.com/svg/svgo/commit/f529cfccc6c154d6f6eabe276ec637a8c5db6763","label":"github.com/svg/svgo/commit/f529cfccc6c154d6f6eabe276ec637a8c5db6763","hostname":"github.com","tags":["X Refsource MISC","WEB","FIX"]},{"url":"https://github.com/svg/svgo/releases/tag/v2.8.3","label":"github.com/svg/svgo/releases/tag/v2.8.3","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/svg/svgo/releases/tag/v3.3.4","label":"github.com/svg/svgo/releases/tag/v3.3.4","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/svg/svgo/releases/tag/v4.0.2","label":"github.com/svg/svgo/releases/tag/v4.0.2","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/svg/svgo","label":"github.com/svg/svgo","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73650.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73650.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-73650","label":"nvd.nist.gov/vuln/detail/CVE-2026-73650","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-73650","label":"security-tracker.debian.org/tracker/CVE-2026-73650","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:11680-1","OPENSUSE-SU-2026:12070-1"],"duplicates":[],"related":["CGA-J6M7-JX2H-PF46","OPENSUSE-SU-2026:11680-1","OPENSUSE-SU-2026:12070-1"]},"timeline":[{"kind":"published","date":"2026-08-13T18:08:36.292Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-18T01:31:46.442Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":33,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T14:02:57.121Z","stale":false,"partial":false}}