Security
Headlines
HeadlinesLatestCVEs

Headline

OpenText Extended ECM 22.3 cs.exe Remote Code Execution

OpenText Extended ECM versions 20.4 through 22.3 suffer from a pre-authentication remote code execution vulnerability in cs.exe.

Packet Storm
#vulnerability#web#microsoft#js#java#rce#auth#sap#ssl

SEC Consult Vulnerability Lab Security Advisory < 20230117-0 >

           title: Pre-authenticated Remote Code Execution in cs.exe  
         product: OpenText™ Content Server component of OpenText™ Extended ECM  

vulnerable version: 20.4 - 22.3
fixed version: 22.4
CVE number: CVE-2022-45923
impact: Critical
homepage: https://www.opentext.com/
found: 2022-09-16
by: Armin Stock (Atos)
SEC Consult Vulnerability Lab

                  An integrated part of SEC Consult, an Atos company  
                  Europe | Asia | North America

                  https://www.sec-consult.com

=======================================================================

Vendor description:

“OpenText™ Extended ECM is an enterprise CMS platform that securely governs the
information lifecycle by integrating with leading enterprise applications, such
as SAP®, Microsoft® 365, Salesforce and SAP SuccessFactors®. Bringing content
and processes together, Extended ECM provides access to information when and
where it’s needed, improves decision-making and drives operational effectiveness.”

Source: https://www.opentext.com/products/extended-ecm

Business recommendation:

The vendor provides a patch which should be installed immediately.

Vulnerability overview/description:

  1. Pre-authenticated Remote Code Execution in cs.exe (CVE-2022-45923)
    The Common Gateway Interface (CGI) program cs.exe of the Content Server
    has a vulnerability, which allows an attacker to increase/decrease an arbitrary
    memory address by 1 and to trigger a call to a method of a vftable with a
    vftable pointer value chosen by the attacker.

The cs.exe does de-serialize (crack) the user provided data in the _fInArgs
parameter, if the parameter _ApiName is set. During this de-serialization to
a class KOSValue object, the function obj_ref_cracker can be called. This
function tries to create a new class KOSValue object with an unknown class ID
of 3.

As the class ID is unknown the function returns an object of type
KOSValueBaseClass instead of KOSObjRefClass, but the value of the
class_ptr attribute of the new class KOSValue object is controlled by the
attacker. This new object can then be used to increase/decrease arbitrary
memory addresses and call methods of its vftable via the functions
KOSValueBaseClass::AddReference and KOSValueBaseClass::ReleaseReference.

Proof of concept:

  1. Pre-authenticated Remote Code Execution in cs.exe (CVE-2022-45923)
    The following request crashes the CGI binary cs.exe with an access violation exception - 0xC0000005 trying to read memory from address
    0xAAAA+8:

[ PoC removed, will be published at a later date ]

There are .dll files (libaprutil-1 & libapriconv-1.dll) which are not
compiled with the security flag Address Space Layout Randomization - ASLR
enabled, which can be used to achieve remote code execution.


.\winchecksec.exe --json (get-item C:\OPENTEXT-22\cgi*.dll) > .\checksec-results.json


cat checksec-results.json | jq -r ‘.[] | [.path, .mitigations.aslr.presence] | @csv’

“icudt69.dll","Present”
“icuin69.dll","Present”
“icuio69.dll","Present”
“icutu69.dll","Present”
“icuuc69.dll","Present”
“jsoncpp.dll","Present”
“libapr-1.dll","Present”
“libapriconv-1.dll","NotPresent”
“libaprutil-1.dll","NotPresent”
“libcrypto-1_1-x64.dll","Present”
“libexpat.dll","Present”
“libssl-1_1-x64.dll","Present”
“llcrypt.dll","Present”
“llisapi.dll","Present”
“llkernel.dll","Present”
“llresources.dll","Present”
“log4cxx.dll","Present”
“PocoFoundation.dll","Present”


Vulnerable / tested versions:

The following version has been tested:

  • 22.1 (16.2.19.1803)

The following versions are vulnerable according to the vendor:

  • 20.4 - 22.3

Vendor contact timeline:

2022-10-07: Vendor contacted via [email protected]
2022-10-07: Vendor acknowledged the email and is reviewing the reports
2022-11-18: Vendor confirms all vulnerabilities and is working on a patch aimed to
be released in November
2022-11-24: Vendor delays the patch “few days/weeks into December”
2022-11-25: Requesting CVE numbers (Mitre)
2022-12-15: Vendor delays the patch and provides a release date: January 16th 2023
2023-01-17: Public release of security advisory

Solution:

Upgrade to at least version 22.4 or apply hotfixes which can be downloaded at
the vendor’s page:
https://support.opentext.com/csm?id=kb_article_view&sysparm_article=KB0781429

Workaround:

None

Advisory URL:

https://sec-consult.com/vulnerability-lab/


SEC Consult Vulnerability Lab

SEC Consult, an Atos company  
Europe | Asia | North America

About SEC Consult Vulnerability Lab  
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult, an  
Atos company. It ensures the continued knowledge gain of SEC Consult in the  
field of network and application security to stay ahead of the attacker. The  
SEC Consult Vulnerability Lab supports high-quality penetration testing and  
the evaluation of new offensive and defensive technologies for our customers.  
Hence our customers obtain the most current information about vulnerabilities  
and valid recommendation about the risk profile of new technologies.

Interested to work with the experts of SEC Consult?
Send us your application https://sec-consult.com/career/

Interested in improving your cyber security with the experts of SEC Consult?
Contact our local offices https://sec-consult.com/contact/


Mail: security-research at sec-consult dot com  
Web: https://www.sec-consult.com  
Blog: http://blog.sec-consult.com  
Twitter: https://twitter.com/sec_consult

EOF Armin Stock / @2023

Related news

CVE-2022-45923: Pre-authenticated Remote Code Execution in cs.exe (OpenText™ Server Component)

An issue was discovered in OpenText Content Suite Platform 22.1 (16.2.19.1803). The Common Gateway Interface (CGI) program cs.exe allows an attacker to increase/decrease an arbitrary memory address by 1 and trigger a call to a method of a vftable with a vftable pointer value chosen by the attacker.

Packet Storm: Latest News

ABB Cylon Aspect 3.08.01 vstatConfigurationDownload.php Configuration Download