# CVE-2020-28847: Valine stored cross-site scripting in nick parameter

Source: https://junglewise.ai/threats/cve-2020-28847-valine-stored-cross-site-scripting-in-nick-parameter  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2022-04-06. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2020-28847 · Severity: low · CVSS 3.1 · Published 2022-04-06

Valine is a comment system embedded in websites to allow visitor feedback. The system fails to properly sanitize the commenter's name field, allowing attackers to inject malicious JavaScript code that executes in the browsers of all subsequent visitors who view the affected page. This can lead to theft of session credentials, account takeover, or malware distribution to site visitors.

Technologies: [valine (npm)](https://junglewise.ai/threats/technologies/valine). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2020-28847 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2020-28847 being exploited in the wild.

**How severe is CVE-2020-28847?** Low severity, with a CVSS score of 3.1, published 6 April 2022.

**Which products and versions are affected?** valine (npm) SEMVER:introduced=0,fixed=1.4.15.

**Is there a fix for CVE-2020-28847?** Yes. valine (npm): upgrade to 1.4.15 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2020-28847 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2020-28847?** Check whether you run valine (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- valine (npm): upgrade to 1.4.15 or later

  ```sh
  npm install valine@1.4.15
  ```


## Technical details

The vulnerability is a stored cross-site scripting (XSS) flaw in Valine versions prior to 1.4.15, caused by insufficient input validation on the nick parameter when submitting comments via the /classes/Comment endpoint. An unauthenticated attacker can inject arbitrary HTML and JavaScript into a comment's nick field by sending a specially crafted POST request; the malicious payload is stored on the server and executed in the browsers of all users who subsequently view the page containing that comment. The attack requires the attacker to be able to submit comments (possibly controlled by the comment platform's configuration), but does not require user interaction beyond the victim viewing the comment. A fix is available in version 1.4.15 and later.

## Affected products

- xCss Valine before 1.4.15

## Identifiers

- CVE-2020-28847
- GHSA-6xvq-2gj8-4276

## Timeline

- 2020-11-11: disclosed: Vulnerability reported via GitHub issue #348
- 2022-04-06: patched: Advisory published; fix released in version 1.4.15
- 2022-04-06: advisory: GHSA-6xvq-2gj8-4276 published

## References

- [https://github.com/xCss/Valine/issues/348](https://github.com/xCss/Valine/issues/348)

## Related threats

- [Valine code injection vulnerability](https://junglewise.ai/threats/cve-2022-38545-valine-code-injection-vulnerability)
- [Valine denial of service via malformed User-Agent](https://junglewise.ai/threats/cve-2021-34801-valine-denial-of-service-via-malformed-user-agent)
- [Valine HTML injection via embedded PDF files](https://junglewise.ai/threats/cve-2018-19289-valine-html-injection-via-embedded-pdf-files)
