CVE-2017-12977

Photo Gallery by 10Web <= 1.3.50 - Authenticated SQL Injection via tag_id Parameter

2017-08-20 00:00
ADLab of VenusTech

Strategic Overview

Status
Patched in 1.3.51
Affected Version
< 1.3.51
CVSS
7.2High
Weakness type
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVE
CVE-2017-12977
View all Photo Gallery by 10Web – Mobile-Friendly Image Gallery vulnerabilities

At a glance

CVE-2017-12977 is a high-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the Photo Gallery by 10Web WordPress plugin, affecting versions < 1.3.51. It carries a CVSS score of 7.2 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account. The issue is fixed in version 1.3.51; sites on affected versions should update now. Disclosed August 2017, reported by ADLab of VenusTech.

Vulnerability Overview

The Web-Dorado "Photo Gallery by WD - Responsive Photo Gallery" plugin before 1.3.51 for WordPress has a SQL injection vulnerability related to bwg_edit_tag() in photo-gallery.php and edit_tag() in admin/controllers/BWGControllerTags_bwg.php. It is exploitable by administrators via the tag_id parameter.

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 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')

Photo Gallery by 10Web < 1.3.51 carries this weakness at bwg_edit_tag(), and reaching it takes any authenticated account. 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 Photo Gallery by 10Web the fix is 1.3.51: builds < 1.3.51 are affected, anything from 1.3.51 onward is not.

Remediation

Update to version 1.3.51, or a newer patched version

How does WordSec protect against this?

The attempt arrives as an ordinary request to Photo Gallery by 10Web: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Photo Gallery by 10Web 1.3.51 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Alerts

External References

Related records

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