Cross-Site Scripting Vulnerability in @joeattardi/emoji-button
Impact
There are two vectors for XSS attacks with versions of @joeattardi/emoji-button before 4.6.2:
- A URL for a custom emoji
- An i18n string
In both of these cases, a value can be crafted such that it can insert a script tag into the page and execute malicious code.
Patches
This vulnerability is fixed starting in version 4.6.2. This is resolved by properly escaping strings that are inserted into the HTML document.
Workarounds
There is no workaround other than upgrading to a non-vulnerable version.
Credit
This issue was discovered by GitHub team member @erik-krogh (Erik Krogh Kristensen) and was reported by the GitHub Security Lab team.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | @joeattardi/emoji-button | < 4.6.2 | 4.6.2 |
References
- https://github.com/joeattardi/emoji-button/security/advisories/GHSA-f34m-x9pj-62vq
- https://nvd.nist.gov/vuln/detail/CVE-2021-43785
- https://github.com/joeattardi/emoji-button/commit/05970c09180cd27fff493e998ac5bf0468b1bb16
- https://github.com/joeattardi/emoji-button/commit/fe54bef107eb3f74873a4018f2ff49fa124c6a2e
- https://github.com/joeattardi/emoji-button
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L- Weakness (CWE)
CWE-79- Platform
- npm
- Package
@joeattardi/emoji-button- Disclosed
- 01.12.2021
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-f34m-x9pj-62vq - CC BY 4.0
Vulnerability history: @joeattardi/emoji-button
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.