CVE-2022-0657

5 Stars Rating Funnel <= 1.2.53 - Unauthenticated SQL Injection

2022-04-13 00:00
cydave

Strategic Overview

Status
Patched in 1.2.54
Affected Version
<= 1.2.53
CVSS
9.8Critical
Weakness type
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVE
CVE-2022-0657
View all Build 5 Star Reviews on Google Reviews, Yelp, Facebook… easily and risk-free | RRatingg vulnerabilities

At a glance

CVE-2022-0657 is a critical-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the Build 5 Star Reviews on Google Reviews, Yelp, Facebook… easily and risk-free WordPress plugin, affecting versions <= 1.2.53. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 1.2.54; sites on affected versions should update now. Disclosed April 2022, reported by cydave.

Vulnerability Overview

The 5 Stars Rating Funnel WordPress Plugin | RRatingg WordPress plugin before 1.2.54 does not properly sanitise, validate and escape lead ids before using them in a SQL statement via the rrtngg_delete_leads AJAX action, available to unauthenticated users, leading to an unauthenticated SQL injection issue. There is an attempt to sanitise the input, using sanitize_text_field(), however such function is not intended to prevent SQL injections.

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. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Build 5 Star Reviews on Google Reviews, Yelp, Facebook… easily and risk-free <= 1.2.53 carries this weakness at sanitize_text_field(), and reaching it takes no account at all. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.

A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. For Build 5 Star Reviews on Google Reviews, Yelp, Facebook… easily and risk-free the fix is 1.2.54: builds <= 1.2.53 are affected, anything from 1.2.54 onward is not.

Remediation

Update to version 1.2.54, or a newer patched version

How does WordSec protect against this?

Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Build 5 Star Reviews on Google Reviews, Yelp, Facebook… easily and risk-free 1.2.54 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Login Security
  • Alerts

External References

Related records

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