{"answers":{"affected":"2 open source packages ship an affected version, including jquery.terminal. It affects 1 product.","exploited":"There is no known exploitation of CVE-2021-43862 in the wild and no public exploit code.","fix":"Upgrade jquery.terminal to 2.31.1 or later.","what":"CVE-2021-43862 is a low-severity cross-site scripting vulnerability in jcubic jquery.terminal, published on 30 Dec 2021. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2021-43862 and fix it if it is affected.\n\nWhat it is: CVE-2021-43862 is a low-severity cross-site scripting vulnerability in jcubic jquery.terminal, published on 30 Dec 2021. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2021-43862 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- jquery.terminal (npm): affected all versions; fixed in 2.31.1\n- jquery.terminal (npm): affected all versions; fixed in 2.31.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-2021-43862/ (Markdown: https://insights.sbomify.com/CVE-2021-43862/index.md)","id":"CVE-2021-43862","markdown":"https://insights.sbomify.com/CVE-2021-43862/index.md","name":"CVE-2021-43862","record":{"aliases":["GHSA-x9r5-jxvq-4387"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":true,"product_category":"jQuery Terminal Emulator","requires_auth":"low_privilege","summary":"An attacker can execute arbitrary JavaScript via self-XSS in jQuery Terminal Emulator if the execHash option is enabled, allowing code execution in the victim's browser.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"jquery.terminal","vendor":"jquery.terminal_project"}],"cvss":{"score":3.7,"severity":"low","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"},{"id":"CWE-80","name":"Improper Neutralization of Script-Related HTML Tags in a Web Page"}],"description":"jQuery Terminal Emulator is a plugin for creating command line interpreters in your applications. Versions prior to 2.31.1 contain a low impact and limited cross-site scripting (XSS) vulnerability. The code for XSS payload is always visible, but an attacker can use other techniques to hide the code the victim sees. If the application uses the `execHash` option and executes code from URL, the attacker can use this URL to execute their code. The scope is limited because the javascript attribute used is added to span tag, so no automatic execution like with `onerror` on images is possible. This issue is fixed in version 2.31.1. As a workaround, the user can use formatting that wrap whole user input and its no op. The code for this workaround is available in the GitHub Security Advisory. The fix will only work when user of the library is not using different formatters (e.g. to highlight code in different way).","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":"Self XSS on user input","id":"CVE-2021-43862","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"xss","year":"2021"},"n_packages":2,"n_references":4,"next":{"headline":"SQL Injection in FileContentProvider (GHSL-2021-1007)","id":"CVE-2021-43863"},"packages":[{"ecosystem":"npm","fixed":["2.31.1"],"introduced":["0"],"last_affected":[],"package":"jquery.terminal","purl":null,"source":"GHSA-x9r5-jxvq-4387"},{"ecosystem":"npm","fixed":["2.31.1"],"introduced":["0"],"last_affected":[],"package":"jquery.terminal","purl":"pkg:npm/jquery.terminal","source":"GHSA-x9r5-jxvq-4387"}],"prev":{"headline":"Incorrect sanitisation function leads to `XSS`","id":"CVE-2021-43861"},"products":["jquery.terminal"],"published":"2021-12-30","related":[],"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":["jcubic"]},"summary":"An attacker can execute arbitrary JavaScript via self-XSS in jQuery Terminal Emulator if the execHash option is enabled, allowing code execution in the victim's browser.","url":"https://insights.sbomify.com/CVE-2021-43862/"}