Skip to content

GHSA-v797-hfv8-v2xm CVE-2019-7849

Magento 2 Community Edition Session Fixation Check

High Packagist
Severity
7.5 / 10
High · CVSS 3.0
Exploit chance (EPSS)
1.15%
Chance of exploitation in the next 30 days. Higher than 66.91% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-384 Session Fixation
Fix
2.1.18
Upgrade magento/community-edition to this version or later

Description

A defense-in-depth check was added to mitigate inadequate session validation handling by 3rd party checkout modules. This impacts Magento 1.x prior to 1.9.4.2, Magento Commerce prior to 1.14.4.2, Magento 2.1 prior to 2.1.18, Magento 2.2 prior to 2.2.9 and Magento 2.3 prior to 2.3.2.

Affected versions

Packagist

PackageVulnerableFixed in
magento/community-edition
>= 2.1.0, < 2.1.18
2.1.18
magento/community-edition
>= 2.2.0, < 2.2.9
2.2.9
magento/community-edition
>= 2.3.0, < 2.3.2
2.3.2

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

magento/community-edition Packagist → 2.1.18

composer
composer require magento/community-edition:^2.1.18

Severity breakdown

CVSS 3.0 7.5

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

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

Weakness

CWE-384: Session Fixation

Authenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier gives an attacker the opportunity to steal authenticated sessions.

How to prevent it
  • Architecture and Design: Invalidate any existing session identifiers prior to authorizing a new user session.
  • Architecture and Design: For platforms such as ASP that do not generate new values for sessionid cookies, utilize a secondary cookie. In this approach, set a secondary cookie on the user's browser to a random value and set a session variable to the same value. If the session variable and the cookie value ever don't match, invalidate the session, and force the user to log on again.
  • Operation: Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-wh92-6q6g-px7j
Magento Community Edition Improper Input Validation vulnerability
Critical Known exploited Also affects magento/community-edition
GHSA-m8cj-3v68-3cxj
Magento Open Source affected by an Improper Restriction of XML External Entity Reference ('XXE') vulnerability
Critical Known exploited Also affects magento/community-edition
GHSA-f8fv-f786-9933
Magento improper input validation vulnerability
Critical Known exploited Also affects magento/community-edition
GHSA-qvwr-p3hj-j6jf
Magento vulnerable to privilege escalation due to incorrect authorization
Medium Also affects magento/community-edition
GHSA-pcrx-r49h-x2w5
Magento vulnerable to stored Cross-Site Scripting (XSS)
Medium Also affects magento/community-edition
GHSA-r355-75hw-r8jf
Magento allows incorrect authorization
Medium Also affects magento/community-edition
GHSA-2768-5wmv-cfff
Magento vulnerable to stored Cross-Site Scripting (XSS)
High Also affects magento/community-edition
GHSA-69x9-xp2j-w8g8
Magento provides incorrect authorization through a security feature bypass
High Also affects magento/community-edition
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor