CVE-2022-2891

WP 2FA <= 2.2.1 - Time-Based TOTP attack to Sensitive Information Exposure

2022-09-14 00:00
Calvin Alkan

Strategic Overview

Status
Patched in 2.3.0
Affected Version
<= 2.2.1
CVSS
5.3Medium
Weakness type
CWE-204 · Observable Response Discrepancy
CVE
CVE-2022-2891
View all WP 2FA – Two-factor authentication for WordPress vulnerabilities

At a glance

CVE-2022-2891 is a medium-severity Observable Response Discrepancy vulnerability in the WP 2FA WordPress plugin, affecting versions <= 2.2.1. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.3.0; sites on affected versions should update now. Disclosed September 2022, reported by Calvin Alkan.

Vulnerability Overview

The WP 2FA plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 2.2.1 due to the use of a linear-time comparison operator when comparing token hashes. This allows an attacker to gain information about authentication tokens by observing small time differences in server response times. This is a vulnerability that is generally not realistically exploitable over the internet due to other factors that will have a greater influence on response times.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.

CWE-204: Observable Response Discrepancy

Reaching this weakness in WP 2FA <= 2.2.1 takes a caller who can reach the endpoint. An observable response discrepancy means the system answers two different situations in two distinguishable ways, so the difference itself carries information the caller was not meant to have.

An attacker enumerates valid accounts, emails or records by reading the difference, which turns a blind guess into a targeted one before any password is tried. For WP 2FA the fix is 2.3.0: builds <= 2.2.1 are affected, anything from 2.3.0 onward is not.

Remediation

Update to version 2.3.0, or a newer patched version

How does WordSec protect against this?

The fix is the thing that ends this: WP 2FA 2.3.0 closes this, and updating the plugin is the step that ends it.

  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C