Skip to content

Sudden swap of user auth tokens in Volto

Moderate severity GitHub Reviewed Published Mar 14, 2022 in plone/volto • Updated Jan 27, 2023

Package

npm @plone/volto (npm)

Affected versions

>= 14.0.0-alpha.6, <= 14.10.0

Patched versions

15.0.0-alpha.0

Description

Impact

Due to the usage of an outdated version of the react-cookie library, under the circumstances of given a server high load, it is possible that a user could get his/her auth cookie replaced with the auth cookie from another user, effectively giving him full access to the other users account and privileges. A proven exploit for this vulnerability does not exist, since the exact requisites for it to happen have not been fully clarified, and the attempts to reproduce it under testing conditions have been unsuccessful, but it still can happen randomly and unintentionally in the wild.

Patches

The patch and fix is present in Volto 15.0.0-alpha.0 (or later). See PR: plone/volto#3051.
We recommend upgrading to the final release of Volto 15 as soon as possible if running an affected version.
See the upgrade guide https://6-dev-docs.plone.org/volto/upgrade-guide/index.html#upgrading-to-volto-15-x-x

Workarounds

It is possible to create a fix by manually upgrading the react-cookie package to 4.1.1 and then overriding all Volto components that use this library as in plone/volto#3051. As this is substantial work, an update to the Volto 15 is recommended. The upgrade steps for going from Volto 14 to Volto 15 are quite easy and do not involve any complexity. Please take a look at the upgrade guide: https://6-dev-docs.plone.org/volto/upgrade-guide/index.html#upgrading-to-volto-15-x-x

For more information

If you have any questions or comments about this advisory:

References

@sneridagh sneridagh published to plone/volto Mar 14, 2022
Published to the GitHub Advisory Database Mar 14, 2022
Reviewed Mar 14, 2022
Published by the National Vulnerability Database Mar 14, 2022
Last updated Jan 27, 2023

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L

EPSS score

0.104%
(44th percentile)

Weaknesses

CVE ID

CVE-2022-24740

GHSA ID

GHSA-cfhh-xgwq-5r67

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.