CVE-2021-43862 Self XSS on user input
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.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2021-43862?
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.
Official 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).
Which versions are affected by CVE-2021-43862?
2 open source packages ship an affected version, including jquery.terminal. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
jquery.terminal npm | All versions | 2.31.1 |
jquery.terminal npm | All versions | 2.31.1 |
Products include Jquery.terminal Project Jquery.terminal.
How do I fix CVE-2021-43862?
Upgrade jquery.terminal to 2.31.1 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2021-43862 being exploited?
There is no known exploitation of CVE-2021-43862 in the wild and no public exploit code.
Sources
Also known as GHSA-x9r5-jxvq-4387.