CVE-2019-18841
Prototype Pollution in chartkick
Chartkick.js 3.1.0 through 3.1.3, as used in the Chartkick gem before 3.3.0 for Ruby, allows prototype pollution.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
NVD Score used
7.3
Chartkick.js 3.1.0 through 3.1.3, as used in the Chartkick gem before 3.3.0 for Ruby, allows prototype pollution.
- Record
CVE-2019-18841- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Updated
- 2026-11-02
CVE List No score
Chartkick.js 3.1.0 through 3.1.3, as used in the Chartkick gem before 3.3.0 for Ruby, allows prototype pollution.
- Record
CVE-2019-18841- Updated
- 2026-11-02
EUVDEUVD-2019-0780 No score
Chartkick.js 3.1.0 through 3.1.3, as used in the Chartkick gem before 3.3.0 for Ruby, allows prototype pollution.
- Record
EUVD-2019-0780- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-5pm8-492c-92p5
7.3
Prototype Pollution in chartkick
Affected versions of @polymer/polymer are vulnerable to prototype pollution. The package fails to prevent modification of object prototypes through chart options containing a payload such as {"__proto__": {"polluted": true}}. It is possible to achieve the same results if a chart loads data from a malicious server.
Recommendation
Upgrade to version 3.2.0 or later.
- Record
GHSA-5pm8-492c-92p5- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSV
7.3
Chartkick.js 3.1.0 through 3.1.3, as used in the Chartkick gem before 3.3.0 for Ruby, allows prototype pollution.
- Record
CVE-2019-18841- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVGHSA-5pm8-492c-92p5
7.3
Prototype Pollution in chartkick
Affected versions of @polymer/polymer are vulnerable to prototype pollution. The package fails to prevent modification of object prototypes through chart options containing a payload such as {"__proto__": {"polluted": true}}. It is possible to achieve the same results if a chart loads data from a malicious server.
Recommendation
Upgrade to version 3.2.0 or later.
- Record
GHSA-5pm8-492c-92p5- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
chartkickRubyGems |
before 3.3.0 | 3.3.0 |
chartkicknpm |
3.1.0 to 3.1.3 | 3.2.0 |
chartkickRubyGems |
before 3.3.0, plus listed versions 0.0.10.0.20.0.30.0.40.0.5 Show 45 moreShow less1.0.01.0.11.1.01.1.11.1.21.1.31.2.01.2.11.2.21.2.31.2.41.2.51.3.01.3.11.3.21.4.01.4.11.4.21.5.01.5.11.5.22.0.02.0.12.0.22.1.02.1.12.1.22.1.32.2.02.2.12.2.22.2.32.2.42.2.52.3.02.3.12.3.22.3.32.3.42.3.53.0.03.0.13.0.23.1.03.2.0 |
3.3.0 |
chartkicknpm |
3.1.0 up to 3.2.0 | 3.2.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-18841 is a high vulnerability (CVSS 7.3) in Chartkick Chartkick.js, published November 11, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.39%, the 72nd percentile. Fixed in chartkick 3.3.0.
References
rubygems.org/gems/chartkick
github.com/ankane/chartkick/commits/master
chartkick.com
github.com/ankane/chartkick/blob/master/CHANGELOG.md
github.com/ankane/chartkick/commit/b810936bbf687bc74c5b6dba72d2397a399885fa
github.com/ankane/chartkick.js/issues/117
nvd.nist.gov/vuln/detail/CVE-2019-18841
github.com/rubysec/ruby-advisory-db/blob/master/gems/chartkick/CVE-2019-18841.yml
github.com/advisories/GHSA-5pm8-492c-92p5
Left out here: 2 versions. The JSON record has them.