[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HTTP session poisoning in EMC Documentum WDK-based applications causes arbitrary code execution and privilege elevation



Vendor: EMC
Product: Documentum WDK-based applications, all versions
Security impact: high


All EMC Documentum WDK-based applications (Taskspace, Webtop, Documentum Administrator, 
EPFM) contain extremely dangerous web component – API Tester. The “API Tester” component 
wan’t designed with security in mind and allows authenticated users to execute arbitrary 
code on application  server or elevate privileges on underlying Content Server. 
Below are the demonstrations of “API Tester” capabilities:

1. Path traversal - authenticated user may upload arbitrary file from application server
to underlying Content Server and then download that file using standard web interface.
The sequence of API commands is following:

create,c,dm_document
setfile,c,l,<path to file on application server>,crtext
save,c,l  

Demonstation: https://youtu.be/vRcdPchZGkU

2. Arbitrary code execution - authenticated user may craft malicious JSP, upload it into
underlying Content Server using standard web interface and then download that JSP onto 
application server filesystem. The sequence of API commands is following:

getfile,c,<object id>,<path to file on application server>


Demonstration: https://youtu.be/oW0x2HXmqww

3. Privilege elevation on underlying Content Server - if authenticated user issues
API command with “__REQUESTED_PROTECTED_ROLES,S,dcs_privileged_users” argument, that
command is executed on underlying Content Server with superuser privileges.

Demonstration: https://youtu.be/Yxkc5orHtwY


The first attempt to mitigate security issues described above was performed by vendor
in 2014: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0629 - the description
is completely misleading, but the gist of remediation was to limit access to API Tester
component to superusers only. The problem is WDK applications get information about
privileges of authenticated user from HTTP Session, and all WDK applications contain
servlet (/wdk5-appletresultsink) which allows to poison HTTP Session.

PoC: https://gist.github.com/andreybpanfilov/785173c085d818c4fbf913075a5ad421

I discovered this vulnerability on February 2016 and on June 2016 vendor announced
the remediation for it - https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-0914  
(Un)fortunately the fix announced by vendor in CVE-2016-0914 does remediate nothing.

Demonstration: https://youtu.be/OarCJ4vB36s

__
Regards,
Andrey B. Panfilov