-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Advisory ID: SYSS-2021-079 Product: PONTON X/P Messenger Manufacturer: PONTON GmbH Affected Version(s): 3.8.0 (Build 201909201204), 3.10.0 (Build 202009171429) Tested Version(s): 3.8.0 (Build 201909201204), 3.10.0 (Build 202009171429) Vulnerability Type: Persistent Cross-Site Scripting (CWE-79) Risk Level: Medium Solution Status: Fixed in release of version 3.11.2 Manufacturer Notification: 2022-01-25 Solution Date: 2022-02-07 Public Disclosure: 2022-03-11 CVE Reference: CVE-2021-45888 Author of Advisory: Stefan Walter, SySS GmbH ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Overview: The manufacturer describes the product as follows (see [1]): > The PONTON X/P Messenger (or PONTON X/P for short) is PONTON’s > high-quality B2B integration solution with a proven track-record in > several industries since 2001. PONTON X/P is a highly configurable > ebXML, AS/1, AS/2, AS/3 and AS/4 compliant messaging software. It > provides additional features to deal with typical B2B integration > issues (such as a listener component for the DMZ, certificate > management and non-repudiation of messages). PONTON X/P is typically > used as communication layer in a business consortium or as an (OEM) > communication extension of an existing software application. The tested version was not the most recent one. The current versions 4.X were not affected. The vulnerability can only be exploited by authorisation with a user of the Ponton X/P web UI which is normally only accessible on the internal network. The vulnerability is fixed with Ponton X/P Version 3.11.2. Please upgrade to the Version 3.11.2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vulnerability Details: Several functions are vulnerable to persistent cross-site scripting. For testing purposes, a local installation was set up using the application binaries provided at [2] and the instructions at [3]: $ wget 'https://www.ponton.de/downloads/xp/3.10/PontonXP-Messenger-3.10.0-Linux.zip' $ unzip PontonXP-Messenger-3.10.0-Linux.zip -d PontonXP-Messenger-3.10.0-Linux $ cd PontonXP-Messenger-3.10.0-Linux $ ./pontonxp start Afterwards, the web application is reachable at https://localhost:8443. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Proof of Concept (PoC): The navigation tree that is shown on the left side of every page of the web application is vulnerable and allows the injection of JavaScript in its nodes. Creating such nodes is only possible for users who have the roles "Configuration Administrator" or "Administrator". For this PoC, SySS GmbH chose the creation of hotfolder adapters under Configuration - -> Hot Folders -> Hot Folder Adapters -> Create Hot Folder. Note that there is a length limit for the names in place, but that is only enforced in the browser / on the client side and not on the server. A malicious JavaScript payload can be stored using the following request to create a hotfolder: POST /pontonxp/private/hotfolder/AddNewHFA.do HTTP/1.1 Host: localhost:8443 Cookie: SESSIONID8443=node019w12orq0koubog78ix5lenq87.node0; clickedFolder=F890761339%5EF118222018%5EF20696059%5EF1686229420%5EF1412411424%5E Content-Type: application/x-www-form-urlencoded Content-Length: 123 ... csrfToken=b5175d71-1f4d-47dc-9300-7c4295290ed0&adapterID=PXSS+Demo&ok.x=51&ok.y=8 The payload is executed by navigating to any URL on the page and by expanding the offending node in order to make the hotfolders in the navigation tree visible. The following excerpt of the server reply shows how the code is injected into the page: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Solution: The vulnerability has been fixed with Ponton X/P version 3.11.2. More information: https://www.ponton.de/downloads/xp/3.11/documents/ReleaseNotes3112.pdf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclosure Timeline: 2021-12-06: Vulnerability discovered 2022-01-25: Vulnerability reported to manufacturer 2022-02-07: Fixed version 3.11.2 released by manufacturer 2022-03-11: Public disclosure of vulnerability ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ References: [1] Product website for PONTON X/P MESSENGER https://www.ponton.de/products/xpmessenger/ [2] PONTON X/P MESSENGER 3.10.0 download https://ponton.de/downloads/xp/3.10/PontonXP-Messenger-3.10.0-Linux.zip [3] PONTON X/P MESSENGER 3.10.0 documentation https://ponton.de/downloads/xp/3.10/documents/MessengerDocumentation310.pdf [4] SySS Security Advisory SYSS-2021-079 https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2021-079.txt [5] SySS Responsible Disclosure Policy https://www.syss.de/en/responsible-disclosure-policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Credits: This security vulnerability was found by Stefan Walter of SySS GmbH. E-Mail: stefan.walter@syss.de Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Stefan_Walter.asc Key Fingerprint: 74DD 77CD 0317 2777 470D 38BE BE0B B311 DA3F 3E16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclaimer: The information provided in this security advisory is provided "as is" and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible. The latest version of this security advisory is available on the SySS website. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Copyright: Creative Commons - Attribution (by) - Version 3.0 URL: http://creativecommons.org/licenses/by/3.0/deed.en -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEdN13zQMXJ3dHDTi+vguzEdo/PhYFAmIogvoACgkQvguzEdo/ PhZodRAAmTZkKjMPV+1ET/sG9hxBDWh1imjikvmz8G3U7KMpQErei4wOnrf8wZK4 ORiq/rt1fmuFNMHxlF7CIQ352M+2ddXbQLgyaq3DH3Ui7MYdr2TySZbp8V2gG8eL 4AA5bspmHxq07KjCh+b7/GulIab3FqoOVLIvQe8EHvwF12AN6nvNVcyTtxHk8bJm lF8qBYCk1ZkYyilIbe/0piZUoIsLw/3H9nfQatJ6TYrsW/+ruHDye1FeUuWiNVtE biRE0aGS2sd9Sm4YM2fw81Wd//wwptcYdWWhdqzY5DW2F2IZhfrImlqnJyk5hh9o 9isfpZ7zfGZxF3h+iJiAC4WFC4hoR7knWjuTCfMJ1k5msWs9F5DeQOMKx9ydnKmN x7TRJnSZBwBEQ8CW/Ql72M9KHMwENSJ+XUB7HjPXkXLbvZvCpZudcP76gQy2FnYx c4EME6FHHNGD1wFhkPmle04z1UGcWdhlFFS3umaGHJRBj/FGpbjuH8s+K82uOo5l qZuHGMKy47vQaqRbsjxrR7INLrC+v6MK5JpxahCa/p8rCHmqYq1flw/lx3M85/vo 722SwuTVnLlhalFi5xtWwNE5uxcMJlAETgaI5spuiajlGXoDQ4vv7bLilhtmMWm3 68wcbz+OhXXX7Id3rwGKviXVS1j0RWfik7e1oGFtF+OuedZn8OI= =v2mW -----END PGP SIGNATURE-----