CVE-2025-49223 json
billboard.js allows prototype pollution via the function generate
published 2025-06-04 17 mo ago modified 2026-06-17 4 mo ago also GHSA-65p9-j6pg-72hj , EUVD-2025-16802
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 59%
- public exploits
- 0
- none known
Summary
billboard.js before 3.15.1 was discovered to contain a prototype pollution via the function generate, which could allow attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties.
Patch / fix
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 17 mo ago
Exploit prediction
0.90% chance of exploitation in the next 30 days, higher than 59% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | billboard.js | <3.15.1 |
3.15.1 |
Affected products
- NAVER billboard.js
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/naver/billboard.js/commit/82ea7ac4f5720d6a7f0c2fa5a5dad51a549667bb
web
-
cve.naver.com
/detail/cve-2025-49223.html
vendor-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2025-49223
advisory
-
github.com
/louay-075/CVE-2025-49223-BillboardJS-PoC
web
-
github.com
/naver/billboard.js
package
-
github.com
/naver/billboard.js/blob/938f263feca453fba5a4dc48d86b32cc5b509443/src/core.ts#L95
web
Sources
- CVE List CVE-2025-49223
- GitHub Advisory GHSA-65p9-j6pg-72hj
- NVD CVE-2025-49223
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.