CVE-2019-1010034

Web Librarian <= 3.5.4 - SQL Injection

2019-07-16 00:00
DWF

Strategic Overview

Status
Patched in 3.5.5
Affected Plugin
WebLibrarian
Affected Version
<= 3.5.4
CVSS
8.8High
Weakness type
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVE
CVE-2019-1010034
View all WebLibrarian vulnerabilities

At a glance

CVE-2019-1010034 is a high-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the WebLibrarian WordPress plugin, affecting versions <= 3.5.4. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). The issue is fixed in version 3.5.5; sites on affected versions should update now. Disclosed July 2019, reported by DWF.

Vulnerability Overview

Deepwoods Software WebLibrarian 3.5.4 and earlier is affected by: SQL Injection. The impact is: Exposing the entire database. The component is: Function "AllBarCodes" (defined at database_code.php line 1018) is vulnerable to a boolean-based blind sql injection. This function call can be triggered by any user logged-in with at least Volunteer role or manage_circulation capabilities. PoC : /wordpress/wp-admin/admin.php?page=weblib-circulation-desk&orderby=title&order=DESC.

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

WebLibrarian <= 3.5.4 carries this weakness at AllBarCodes, and reaching it takes a caller who can reach the endpoint. 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 WebLibrarian the fix is 3.5.5: builds <= 3.5.4 are affected, anything from 3.5.5 onward is not.

Remediation

Update to version 3.5.5, or a newer patched version

How does WordSec protect against this?

The attempt arrives as an ordinary request to WebLibrarian: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: WebLibrarian 3.5.5 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