CVE-2024-43370:
gettext.js has a Cross-site Scripting injection
7.2
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.40869%
CWE
Published
8/15/2024
Updated
8/16/2024
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
gettext.js | npm | < 2.0.3 | 2.0.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper input validation of plural_form definitions in .po files. The commit 8150aeb shows the patch changed validation from regex.test() to a full string match check, indicating the original regex allowed dangerous payloads via partial matches. The vulnerable code path processes untrusted plural_form inputs which are later evaluated, creating XSS opportunities when combined with malicious plural form definitions. Though dist/ files are shown in diffs, the core logic resides in lib/gettext.js where plural form handling occurs.