{"answers":{"affected":"4 open source packages ship an affected version, including vega and vega-functions. It affects 2 products.","exploited":"There is no known exploitation of CVE-2023-26487 in the wild and no public exploit code.","fix":"Upgrade vega to 5.23.0 or later.","what":"CVE-2023-26487 is a medium-severity cross-site scripting vulnerability in vega, published on 3 Mar 2023. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2023-26487 and fix it if it is affected.\n\nWhat it is: CVE-2023-26487 is a medium-severity cross-site scripting vulnerability in vega, published on 3 Mar 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2023-26487 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- vega (npm): affected all versions; fixed in 5.23.0\n- vega (npm): affected all versions; fixed in 5.23.0\n- vega-functions (npm): affected all versions; fixed in 5.13.1\n- vega-functions (npm): affected all versions; fixed in 5.13.1\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-2023-26487/ (Markdown: https://insights.sbomify.com/CVE-2023-26487/index.md)","id":"CVE-2023-26487","markdown":"https://insights.sbomify.com/CVE-2023-26487/index.md","name":"CVE-2023-26487","record":{"aliases":["DEBIAN-CVE-2023-26487","GHSA-w5m3-xh75-mp55"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Vega visualization library","requires_auth":"none","summary":"Attackers can execute arbitrary JavaScript via the lassoAppend function due to missing type checks, potentially leading to code execution in vulnerable environments.","user_interaction":"not_required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"vega-functions","vendor":"vega-functions_project"},{"product":"vega","vendor":"vega_project"}],"cvss":{"score":6.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"}],"description":"Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.`lassoAppend' function accepts 3 arguments and internally invokes `push` function on the 1st argument specifying array consisting of 2nd and 3rd arguments as `push` call argument. The type of the 1st argument is supposed to be an array, but it's not enforced. This makes it possible to specify any object with a `push` function as the 1st argument, `push` function can be set to any function that can be access via `event.view` (no all such functions can be exploited due to invalid context or signature, but some can, e.g. `console.log`). The issue is that`lassoAppend` doesn't enforce proper types of its arguments. This issue opens various XSS vectors, but exact impact and severity depends on the environment (e.g. Core JS `setImmediate` polyfill basically allows `eval`-like functionality). This issue was patched in 5.23.0.","ecosystems":["npm"],"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":"Vega has cross-site scripting vulnerability in `lassoAppend` function","id":"CVE-2023-26487","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"xss","year":"2023"},"n_packages":4,"n_references":3,"next":{"headline":"OpenZeppelin Contracts contains Incorrect Calculation","id":"CVE-2023-26488"},"packages":[{"ecosystem":"npm","fixed":["5.23.0"],"introduced":["0"],"last_affected":[],"package":"vega","purl":null,"source":"GHSA-w5m3-xh75-mp55"},{"ecosystem":"npm","fixed":["5.23.0"],"introduced":["0"],"last_affected":[],"package":"vega","purl":"pkg:npm/vega","source":"GHSA-w5m3-xh75-mp55"},{"ecosystem":"npm","fixed":["5.13.1"],"introduced":["0"],"last_affected":[],"package":"vega-functions","purl":null,"source":"GHSA-w5m3-xh75-mp55"},{"ecosystem":"npm","fixed":["5.13.1"],"introduced":["0"],"last_affected":[],"package":"vega-functions","purl":"pkg:npm/vega-functions","source":"GHSA-w5m3-xh75-mp55"}],"prev":{"headline":"Vega `scale` expression function cross site scripting","id":"CVE-2023-26486"},"products":["vega"],"published":"2023-03-03","related":[{"cvss_score":7.2,"headline":"`vega-functions` vulnerable to Cross-site Scripting via `setdata` function","id":"CVE-2025-66648","kev_date_added":null,"published":"2026-01-05"},{"cvss_score":6.5,"headline":"Vega `scale` expression function cross site scripting","id":"CVE-2023-26486","kev_date_added":null,"published":"2023-03-03"},{"cvss_score":5.3,"headline":"Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode `expressionInterpeter`","id":"CVE-2025-26619","kev_date_added":null,"published":"2025-03-27"}],"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":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-02-25","vendors":["vega"]},"summary":"Attackers can execute arbitrary JavaScript via the lassoAppend function due to missing type checks, potentially leading to code execution in vulnerable environments.","url":"https://insights.sbomify.com/CVE-2023-26487/"}