Description
gettext.js is a GNU gettext port for node and the browser. There is a cross-site scripting (XSS) injection if `.po` dictionary definition files are corrupted. This vulnerability has been patched in version 2.0.3. As a workaround, control the origin of the definition catalog to prevent the use of this flaw in the definition of plural forms.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| guillaumepotier | gettext.js | < 2.0.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | gettext.js | 0.7.0-4 | — |
| Debian 13 | gettext.js | 0.7.0-4 | — |
| Debian 12 | gettext.js | 0.7.0-2+deb11u1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | gettext.js | No fix yet | — |
| Ubuntu 22.04 LTS | gettext.js | No fix yet | — |
| Ubuntu 20.04 LTS | gettext.js | No fix yet | — |
| Ubuntu 18.04 LTS | gettext.js | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | gettext.js | < 2.0.3 | 2.0.3 | GHSA-vwhg-jwr4-vxgg |