Content Management repository is a graph – Part I

 

In October, I attended the GraphConnect 2014 in San Francisco. GraphConnect is a conference and an event organised by Neo Technology, the company behind Neo4J, one of most important NoSql database.


Neo4j is a graph database, a database that uses graph structures with nodes, edges, and properties to represent and store data. A graph database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. NoSQL databases can be classified in five categories,

  • Column: like Accumulo, Cassandra, Druid, HBase
  • Document: like Clusterpoint, Apache CouchDB, Couchbase, MarkLogic, MongoDB
  • Key-value: like Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike
  • Graph: like Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog

If you are looking for a new technology to learn or to approach, for sure every NoSQL field is cool enough to require attention (and to provide great visibility in the labour market). Among NoSQL databases, graph databases are the coolest technology. As reported during the GraphConnect conference by Emil Eifrem, founder and Ceo of Neo Technology, “Graphs are eating the world”. This sentence is not just a slogan, instead it describes clearly, what is happening. The image reported below (source db-engines.com) confirms that, with no doubts:

The DB-Engines Ranking is a list of database management systems ranked by their current popularity. DB-Engine Ranking algorithms measures the interest to database vendors and database model (as reported in the graph) using: number of mentions on websites, Google Trends, frequency of technical discussions, number of job offers, number of profiles in professional networks, number of Twitter tweets, in which the db system or db model is mentioned. I don’t know how the ranking algorithm works in detail but the graph is clear: graph databases is growing in popularity more than any other NoSQL technologies.

[continue on Linkedin: https://www.linkedin.com/pulse/content-management-repository-graph-part-i-yuri-simione]

Follow me on Twitter and Linkedin.

 

Posted in Analytics, Big data, ECM, Enterprise Search, Frontpage, Technologies | Tagged , , , | Leave a comment

APIs for DUMMIES – eBook review – Apigee special edition

Yesterday I downloaded the APIs for DUMMIES ebook. I really liked this book because it in 2 or 3 hours you can read and learn about best practices of REST api best practices.

This is just what we are doing right now and I found many useful and interesting ideas and suggestions.

I like this kind of book: they are not academic, are free (!) and you can learn about best practice without to spend hours to read and to understand the reason why these are best practices.

Without explanations or more details, for sure “you have to believe” that few pages are correct but, in this case, apigee name guarantee all the readers.

In just 36 pages, they are condensed many important points, like:

  • Keep your base URL simple and intuitive
  • Use two base URLs per resource.
  • Keep verbs out of your base URLs. Use verbs just for responses that don’t involve resources (like calculate, language translation, etc)
  • Use HTTP verbs to operate on the collections and elements.
  • (…) keep your API intuitive by simplifying the associations between resources,
  • and sweeping parameters and other complexities under the rug of the HTTP question
  • Regarding error and status code: use HTTP status code but not too much…. Start by using the following 3 codes. If you need more, add them. But you shouldn’t need to go beyond 8. • 200 – OK • 400 – Bad Request • 500 – Internal Server Error
  • If you’re not comfortable reducing all your error conditions to these 3, try picking among these additional 5: • 201 – Created • 304 – Not Modified • 404 – Not Found• 401 – Unauthorized • 403 – Forbidden
  • Never release an API without a version and make the version mandatory.
  • Support partial response by adding optional fields in a comma delimited list.
  • Use limit and offset to make it easy for developers to paginate objects.
  • Consolidate all API requests under one API subdomain.
  • The API Façade Pattern

So, if you have a couple of hours and if you like application development tools and techniques, you have to read this ebook!

Posted in Consumer, Frontpage, Technologies | Tagged , , , | Leave a comment

ESA-2014-046 – Multiple Content Server vulnerabilities fixed

Doumentum 'Yuri Simione' consultancy certified emcAnother day, another fix: someone can think that Content Server has too much vulnerabilities but for sure during these days EMC is working very hard to make his systems more secure.

I appreciate the way EMC is working on vulnerabilities and if you consider how many products EMC Information Intelligence Group is managing, you will agree that security fix is an hard and long task, just considering all the supported platforms where the fix should be tested.

rss security alert for ecm systems like documentum, opentext, alfresco - From Yuri SimioneAs usual, in this blog I report all the security bulletins published by EMC.  An easy way to know more about security is to subscribe this  RSS channel.

 

Today EMC released a security note identified by the ESA-2014-026 and registered on the Common Vulnerabilities and Exposures as CVE-2014-2506, CVE-2014-2507 and CVE-2014-2508.

 

The affected systems are Content Server version 6.7, 7.0 and 7.1. EMC stated that even all the “EMC Software: EMC Documentum Content Server all versions prior to 6.7 SP1″ has the same vulnerabilities but it is not clear if this is valid even for 6.6 and prior versions.

[June 9th update: as reported in the http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2506 the systems affected by these vulnerabilities are all the Content Server versions, even the 6.6.x, 6.5.x and 6.0.x]

 

For sure EMC strongly recommends all customers upgrade to one of the versions reported below, at the earliest opportunity:

  • EMC Documentum Content Server 7.1 P05 and later
  • EMC Documentum Content Server 7.0 P15 and later
  • EMC Documentum Content Server 6.7 SP2 P14 and later
  • EMC Documentum Content Server 6.7 SP1 P28 and later

EMC strongly recommends all customers upgrade to one of the above versions at the earliest opportunity.

Latest patches solve these three problems:

  • Privilege Escalation  (CVE-2014-2506):Authenticated non-privileged users are allowed to create system objects with super user privileges due to improper authorization checks being performed on these objects. This may potentially be exploited by a malicious attacker to gain unauthorized access to data or to perform unauthorized actions on Content Server.
  • Shell Injection (CVE-2014-2507):Certain methods in Documentum Content Server perform improper validation checks on input arguments. This may potentially be exploited by an authenticated malicious user to conduct shell injection attacks against these methods and perform unauthorized actions on Content Server.
  • DQL Injection (CVE-2014-2508): Certain DQL hints in Documentum Content Server may potentially be exploited by an authenticated malicious user to conduct DQL injection attacks and perform unauthorized database actions.

Posted in ECM, EMC, Frontpage, Security alert | Tagged , | Leave a comment

ESA-2014-024: EMC Documentum Digital Asset Manager DQL Injection Vulnerability

Today EMC announced a security fix to address Blind Documentum Query Language (DQL) Injection vulnerability on Documentum Digital Asset Manager (DAM).

The affected versions are:

  • EMC Software: EMC Documentum Digital Asset Manager 6.5 SP3
  • EMC Software: EMC Documentum Digital Asset Manager 6.5 SP4
  • EMC Software: EMC Documentum Digital Asset Manager 6.5 SP5
  • EMC Software: EMC Documentum Digital Asset Manager 6.5 SP6

logo dam yuri simione documentum emc consultancy

The DAM thumbnail proxy server allows unauthenticated users to query objects using a vulnerable URL query string parameter. A malicious attacker may potentially conduct Blind DQL injection attacks using the vulnerable parameter to infer or modify the database contents.

EMC released a hotfix for DAM 6.5 SP3, 6.5 SP4, and 6.5 SP5. For 6.5 SP6, patch P13 and later contains resolution for this issue.

EMC strongly recommends all customers apply the hotfix or upgrade at the earliest opportunity.

You can subscribe the RSS feeds related to the security alerts published on my blog.

Posted in ECM, EMC, Frontpage, Security alert | Tagged , , | Leave a comment

ESA-2014-026: vulnerability explained

On January 3, 2014 I discovered a vulnerability related to Documentum Content Server that I communicated to EMC during the same day.

On April 11, 2014 EMC published the ESA-2014-026: EMC Documentum Content Server Information Disclosure Vulnerability.

One month after that, in this post, I am going to describe publicly more about this vulnerability, in order to share in which situation and why you should apply latest patches released by EMC.

First of all, this is a Documentum Content Server vulnerability: in a repository, a user with limited privilege, can browse more objects than a standard configuration should permit. The issue is related to the restricted folders configuration option for the dm_user instances.

How to exploit the security bug

Create a new standard Documentum user:

user-creation-documentum-yuri-simione

  • user_name equal to HACK,
  • standard privilege set to NONE,
  • default folder /HACK
  • restricted folder /Temp

As reported in the EMC Documentum Content Server Version 7.x Administration and Configuration Guide, the Restrict Folder Access To configuration:

Specifies which folders the user can access. (…).

If no folders or cabinets are specified, the user has access to all folders and cabinets in the repository, depending on the permissions on those cabinets and folders, and depending on folder security.”

In our scenario, the HACK user should access just the objects linked into the /Temp cabinet. Let’s continue to create the environment to prove the vulnerability. With a standard user, create a document in a new folder, for example into the cabinet /SECURITY BUG EXPLOIT. For this document add the BROWSE or more powerful permission to the dm_world alias. I named this document “My personal salary”. I know, I know: for a private document such “My personal salary” I should not add BROWSE permission to dm_world alias but for sure the HACK user should not browse and read my document, because this document is “outside” his restricted folders.

esa-2014-026-documentum-yuri-simione

Does the Restricted Folders option work? Yes, let’s test it. In my system the ID of this document is 09001eab80002990. Login into Documentum Administrator, with the HACK user credentials and execute the DQL query reported below: esa-2014-026-documentum-yuri-simione 3

Zero rows returned: Restricted Folders security option works well!

Again, correctly, the execution of the dump object fails:

API>dump,c,09001eab80002990

Error processing command:DfException:: THREAD: tomcat-http–19; MSG: [DM_SYSOBJECT_E_NOT_IN_RESTRICTED_FOLDERS]error: “The sysobject (’09001eab80002990′) is not in any folder (or subfolder of the folder) specified in the user’s restricted_folder_ids.”; ERRORCODE: 100; NEXT: null

So Restricted Folders configuration works well but in some cases there is a….

Vulnerability

The problem is that HACK user can browse more documents than permitted if he or she uses the not folder keywords.

If the HACK user executes DQL using the not folder(…) statement as reported below, he/she can browse the metadata of the document outside his restricted folders and he/she can browse (or read, write, delete, depending on permission add to the documents for the dm_world alias) more data:

esa-2014-026-documentum-yuri-simione 4

So, if  ”your” repository is  configured to use Restricted Folders option for some special users, you probably should upgrade the Content Server at the earliest opportunity.

Anyway, if the end-user repository is a Global Registry repository, you should upgrade all your content servers! You know that there is a special user configured to work just on some Restricted Folders: the dm_bof_registry user.

bof_registry-documentum-esa-2014-026-yuri-simione

If the end-user repository is a Global Registry repository, upgrade your content servers as soon as you can, because, as you probably know, there are some ways to decrypt the dm_bof_regsitry password stored in the dfc.properties file: with this user credential someone could potentially access to all the documents stored in the repository protected with the dm_world / BROWSE permission. It’s a good practice to use a dedicated repository for the Global Registry and this vulnerability justify one more time why.

Resolution

To solve this issue you should upgrade to one of the versions listed below:

  • EMC Documentum Content Server version 7.1 P02 and later
  • EMC Documentum Content Server version 7.0 P13 and later
  • EMC Documentum Content Server version 6.7 SP2 P13 and later
  • EMC Documentum Content Server version 6.7 SP1 P26 and later
Posted in Blogroll, ECM, EMC, Frontpage, Next 2U Consulting, Security alert | Tagged , , , | Leave a comment

ESA-2014-045 Documentum D2 Vulnerability

Today EMC released a note related to a vulnerability that affect the Documentum D2 client.

The CVE vulnerability identifier is CVE-2014-2504 (score 8.5). The affected products are

  • EMC Documentum D2 3.1 and patch versions
  • EMC Documentum D2 3.1SP1 and patch versions
  • EMC Documentum D2 4.0 and patch versions
  • EMC Documentum D2 4.1 and patch versions
  • EMC Documentum D2 4.2 and patch versions

In particular EMC Documentum D2 may be vulnerable to an arbitrary Documentum Query Language (DQL) query execution vulnerability because there are methods and a D2FS web service method that may allow an authenticated user to execute arbitrary DQL queries with superuser privileges. For this reason an upgrade to the latest patch is strongly recommended.

The following products contain the resolution to this issue

  • EMC Documentum D2 3.1P20
  • EMC Documentum D2 3.1SP1P02
  • EMC Documentum D2 4.0P10
  • EMC Documentum D2 4.1P13
  • EMC Documentum D2 4.2P01
Posted in EMC, Security alert | Tagged , , | Leave a comment

OpenSSL Heartbleed and Documentum – Update – ESA-2014-037

Today EMC reported on the ESA-2014-037 that the the impact of OpenSSL Heartbleed vulnerability (CVE-2014-0160) on Documentum Content Server is limited to:

  • Fulltext query plugin used by the Content Server to communicate with the xPlore server;
  • CAS plugin, used by the Content Server for CAS based authentication.

The impacted environments are:

  • Documentum Content Server (Linux platform only) 6.7 SP1 (P14-P26), 6.7 SP2 (P01-P12), 7.0 (P03-P13)
  • Documentum Content Server (Windows 64, Linux, Solaris, AIX) 7.1 (base release – P03)

For these environments, EMC  strongly recommends to upgrade to one of the versions listed below at the earliest opportunity.

  • EMC Documentum Content Server version 7.1 P04 and later
  • EMC Documentum Content Server Linux version 7.0 P14 and later
  • EMC Documentum Content Server Linux version 6.7 SP2 P13 and later
  • EMC Documentum Content Server Linux version 6.7 SP1 P27 and later

After upgrade, it is strongly recommended to:

  • Renew certificates
  • Revoke old certificates
  • Change passwords for CAS user accounts

 

Posted in ECM, EMC, Frontpage, Security alert | Tagged , , , | Leave a comment

E’ in edicola Mac magazine 067 – Macworld / iWorld 2014

Nella sezione ULTIMISSIME di Mac magazine 067, in edicola a Maggio 2014, sono pubblicati i primi articoli che ho tratto dalla partecipazione all’evento Macworld/iWorld 2014, a San Francisco dal 27 al 29 Marzo 2014.

macmagazine yuri simione macworld iworld 2014 article Articolo di Yuri Simione – Macworld / iWorld 2014
Posted in Frontpage | Leave a comment

OpenSSL Heartbleed Vulnerability (CVE-2014-0160) does not affect Documentum systems

OpenSSL Heartbleed Vulnerability (CVE-2014-0160) does not affect Documentum systems because simply these don’t use OpenSSL! Some concerns just about the on premise edition of Syncplicty.

Due to a missing bounds check in OpenSSL during the TLS heartbeat extension, up to 64k of memory can be revealed to a connected client or server. This may potentially allow an unauthenticated, remote attacker to gain access to sensitive information such as private keys, login passwords, and encryption keys (Secret Keys). As a result of this disclosure of sensitive information, these Secret Keys can potentially be leveraged to decrypt other sensitive information or conduct so-called man-in-the-middle attacks.References:

  • Original disclosure: http://heartbleed.com/
  • US CERT: http://www.kb.cert.org/vuls/id/720951
  • NVD: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160&cid=2
Non-Impacted Products:

 
Documentum ApplicationXtender Does not use OpenSSL
Documentum Content Application (ACS, BOCS, DMS, UCF) Does not use OpenSSL
Documentum D2 Does not use OpenSSL
Documentum DFS Does not use OpenSSL
Documentum eRoom Does not use OpenSSL
Documentum InfoArchive Does not use OpenSSL
Documentum REST Services Does not use OpenSSL
Documentum xPression Does not use OpenSSL
Syncplicity Enterprise Edition On-Premise All See ESA-2014-030 for details: : https://support.emc.com/kb/185966
Posted in EMC, Frontpage, Security alert | Tagged , , | Leave a comment

ESA-2014-023: EMC Documentum JBOSS Remote Code Execution Vulnerability

Today EMC published two security bulletins. The first one, the ESA-2014-026, is a vulnerability I discovered. The second one is related to a standard Jboss vulnerability. Jboss is used for some Documentum component like Documentum Java Method Server and xPlore.

Below the official bulletin.

ESA-2014-023
CVE-2012-0874
CVSS v2 Base Score: 10.0 (AV:N/AC:L/Au:N/C:C/I:C/A:C)
EMC Software: All EMC Documentum Content Server versions of 7.0
EMC Software: All EMC Documentum Content Server versions of 6.7 SP2
EMC Software: All EMC Documentum Content Server versions of 6.7 SP1 and earlier
EMC Software: EMC Documentum xPlore versions of 1.2
EMC Software: EMC Documentum xPlore versions of 1.3
EMC Documentum products listed above may be vulnerable to remote code execution vulnerability.
EMC Documentum Content Server and xPlore embed JBoss servlets (JMXInvokerServlet and EJBInvokerServlet). These JBOSS servlets are vulnerable to remote code execution vulnerability. The vulnerability may be exploited to execute remote code with NT AUTHORITY\SYSTEM privileges.Affected JBOSS servlets are not required for either Documentum Content Server or xPlore’s functionality.

See http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0874 for more details.

EMC strongly recommends all customers upgrade to one of the versions listed below or apply the workaround for all other affected versions at the earliest opportunity.The following products contain the resolution to this issue:

  • EMC Documentum Content Server version 7.1
  • EMC Documentum Content Server version 7.0 P13 and later
  • EMC Documentum Content Server version 6.7 SP2 P12
  • EMC Documentum Content Server version 6.7 SP1 P24
  • EMC Documentum xPlore version 1.4
  • EMC Documentum xPlore version 1.2 P25 and later

Workaround for all other affected versions of Documentum Content Server and xPlore:

  1. Stop the “Java Method Server” service.
  1. Open <DOCUMENTUM install dir>\ jboss5.1.0\server\DctmServer_MethodServer\deploy\http-invoker.sar\invoker.war\WEB-INF\web.xml.

For example:

C:\Documentum\jboss5.1.0\server\DctmServer_MethodServer\deploy\http-invoker.sar\invoker.war\WEB-INF\web.xml

  1. Modify web.xml file to remove definition and mapping for the servlets EJBInvokerServlet and JMXInvokerServlet
  1. Start the “Java Method Server” service.
Registered EMC Online Support customers can download patches and software from support.emc.com at:https://support.emc.com/downloads/2732_Documentum-Server
Posted in Blogroll, ECM, EMC, Frontpage, Security alert, Technologies, Uncategorized | Tagged , | Leave a comment