SpiderLabs Blog

About SAP ASE DSAM SQL Injection (CVE-2016-4013)

Written by Martin Rakhmanov | May 11, 2016 11:57:00 AM

SAP introduced a new feature in SP02 for Adaptive Server Enterprise 16.0 that provides support for Data Store Access Management (DSAM). This is perfect example of new functionality introducing new vulnerabilities. The new DSAM implementation suffers from an SQL injection vulnerability in the database server binary. If you upgraded to ASE 16.0 SP02 and installed DSAM subsystem by creating the sybdsamdb database as described in documentation, then you are vulnerable to this flaw. The lesson here is do not install features you do not need.

What specifically happened in SP02? SAP added internal SQL processing for the CREATE DATABASE statement that is triggered only when DSAM is installed. Part of this SQL code runs with highest privileges possible, uses user-provided input (database name) and doesn't validate it. Combine all that together and we have SQL injection vulnerability here allowing to elevate privileges to the top level easily.

There are some limiting factors however. This issue requires attacker to be able to create databases and DSAM to be enabled. See the Trustwave SpiderLabs Advisory TWSL2016-008 for full details and proof-of-concept code.

On a side note when SAP initially released the security advisory they pointed to the wrong patch. Trustwave immediately informed SAP about the typo and the advisory was corrected to point to version that includes the fix (ASE 16.0 SP02 PL03). Theoretically this could have allowed attackers to have extra time to exploit this problem without a patch, since administrators that thought they were patched were still vulnerable. Since the nature of this vulnerability requires some privileges not usually granted to regular users for exploit to work, this advisory is probably not critical for most installations. However we still recommend installing the patch as quickly as possible especially those sites that installed the DSAM subsystem in a previous upgrade.

Trustwave database security products include a check for this specific vulnerability that will detect vulnerable ASE instances and suggest proper patch.