Lucene search

K
wpvulndbApple502jWPVDB-ID:D9586453-CC5C-4D26-BB45-A6370C9427FE
HistoryMay 31, 2021 - 12:00 a.m.

Yes/No Chart < 1.0.12 - Authenticated (contributor+) Blind SQL Injection

2021-05-3100:00:00
apple502j
wpscan.com
9

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:S/C:P/I:N/A:N

The plugin did not sanitise its sid shortcode parameter before using it in a SQL statement, allowing medium privilege users (contributor+) to perform Blind SQL Injection attacks

PoC

To exploit, the site administrator must add a question set and a question first. (This requirement is usually met for all installations, as this plugin does not function without this.) Users as low as contributors can then use a shortcode to cause blind SQL injection, which can be used to extract data by checking if the error message returned says “invalid ID” or “no question”. This proof of concept shortcode can be added and previewed to check if a user “teacher” is registered, given db prefix “wp_dbprefix_”: [yesno_chart sid=“9999999 UNION SELECT 4,user_login,user_registered FROM wp_dbprefix_users WHERE user_login=‘teacher’”] If this shows “Invalid Question Set ID.” when previewed, the WHERE clause for the UNION SELECT is evaluated FALSE. If this shows “No question.”, the WHERE clause is evaluated TRUE. If this is not reliable, choose larger integers instead of 9999999. (the vulnerable WHERE clause must be evaluated FALSE.) Of course, the attacker can issue arbitrary WHERE clause checks on arbitrary tables, so this is a reliable blind SQL injection. Note: this cannot be exploited as a non-blind SQLi, as the code that is just below the injection point uses prepared statement, and triggers a error before showing extracted data.

CPENameOperatorVersion
yesnolt1.0.12

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:S/C:P/I:N/A:N

Related for WPVDB-ID:D9586453-CC5C-4D26-BB45-A6370C9427FE