CVE-2021-3313: Stored Cross-Site Scripting (XSS) in Plone CMS

plone Updated 02 Oct 2025

Summary

20/05/2021
Yes i
Moderate
6.1

CVE-2021-3313: Plone CMS until version 5.2.4 has a stored Cross-Site Scripting (XSS) vulnerability in the user fullname property and the file upload functionality. Affects plone versions < 5.2.4. Fixed in 5.2.4. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Plone CMS is an open-source content management system written in Python. It provides a robust platform for building websites, intranets, and web applications. Plone CMS allows users to create and manage content, including user profiles and file uploads. However, versions prior to 5.2.4 are vulnerable to a stored Cross-Site Scripting (XSS) attack.

Vulnerability Detail

The stored XSS vulnerability in Plone CMS arises from improper encoding of user input data in the user fullname property and the file upload functionality. When this data is echoed back to the user, it is not properly encoded, allowing it to be interpreted as executable code by the victim's browser. An attacker can exploit this vulnerability by injecting malicious JavaScript code, which will be executed in the context of the victim's browser when they open a vulnerable page containing an XSS payload. This can lead to various consequences, such as session hijacking, defacement of web pages, or theft of sensitive information.

How To Fix

Latest published version: 6.2.2 as of 23 Oct 2026

pip install --upgrade "plone==6.2.2"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

5.2.4

This is the first release that contains the fix.

pip install --upgrade "plone==5.2.4"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading to the latest version is not immediately feasible, a temporary workaround can be implemented by sanitizing user input data before echoing it back to the user. This can be achieved by using appropriate encoding functions or libraries to ensure that any potentially malicious code is treated as plain text and not executed by the browser.

Conclusion

Plone CMS versions prior to 5.2.4 are vulnerable to a stored Cross-Site Scripting (XSS) attack. It is crucial to upgrade to the latest version or apply appropriate sanitization measures to prevent potential exploitation. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for plone →

Share this vulnerability

FAQ

Plone CMS is an open-source content management system written in Python. It provides a platform for building websites, intranets, and web applications.

A stored XSS vulnerability allows an attacker to inject malicious code into a web application, which is then stored and later executed by other users when they access the affected page.

The consequences of this vulnerability can include session hijacking, defacement of web pages, or theft of sensitive information.

To fix this vulnerability, it is recommended to upgrade to Plone CMS version 5.2.4 or later. Alternatively, you can sanitize user input data before echoing it back to the user.

Yes, if upgrading to the latest version is not immediately feasible, you can sanitize user input data to mitigate the risk of exploitation.

Related vulnerabilities

Recent vulnerabilities recorded for plone.

How To Fix

Latest published version: 6.2.2 as of 23 Oct 2026

pip install --upgrade "plone==6.2.2"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

5.2.4

This is the first release that contains the fix.

pip install --upgrade "plone==5.2.4"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback