Convertigo
CVE-2025-43955
CRITICAL
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
jxpath function abuse yields high C/I/A, but exploitation depends on attacker-influenced XPath reaching the API, so AC:H and PR:L rather than the NVD's AC:L/PR:N.
Primary rating from NVD.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
8DescriptionNVD
TwsCachedXPathAPI in Convertigo through 8.3.4 does not restrict the use of commons-jxpath APIs.
AnalysisAI
Unrestricted use of Apache commons-jxpath in Convertigo's TwsCachedXPathAPI (through version 8.3.4) lets XPath expressions invoke arbitrary Java extension functions, exposing the low-code platform to code execution and data exposure via crafted XPath. The upstream fix in 8.3.11 wraps every JXPath context with an empty FunctionLibrary, disabling extension-function resolution. Publicly available proof-of-concept exists via the project's own GitHub issue #898, though EPSS remains low at 0.13% (32nd percentile) and it is not on CISA KEV.
Technical ContextAI
Convertigo is a low-code/no-code enterprise mobile and web application platform. The affected component, com.twinsoft.convertigo.engine.util.TwsCachedXPathAPI, evaluates XPath queries against DOM nodes using Apache commons-jxpath (JXPathContext.selectNodes/selectSingleNode). JXPath supports extension functions that can reflectively call arbitrary Java methods and constructors within an XPath expression; when the context's function library is left at its permissive default, an expression can reach dangerous classes. This maps to CWE-749 (Exposed Dangerous Method or Function): a powerful capability of the underlying library is left reachable without restriction. The fix commit 431d1bfe introduces newSafeContext(), which calls context.setFunctions(new FunctionLibrary()) - an empty library - to strip extension-function access from every evaluation path.
RemediationAI
Upgrade to Convertigo 8.3.11 or later, which restricts jxpath by setting an empty FunctionLibrary on every XPath context (Vendor-released patch: 8.3.11; see https://github.com/convertigo/convertigo/releases/tag/8.3.11 and commit 431d1bfeb360a55f4ed299cc3aa287cc5c6357e1). If you cannot upgrade immediately, avoid passing any untrusted or user-supplied data into XPath expressions evaluated by sequences/transactions, and audit projects for XPath steps that incorporate external input - the trade-off is that this requires manual review of every project. As a network-level compensating control, restrict access to the Convertigo engine endpoints to trusted operators via a reverse proxy or firewall, accepting that this reduces exposure but does not remove the underlying capability. Backporting the newSafeContext() change (calling context.setFunctions(new FunctionLibrary())) is a targeted source-level workaround for self-built deployments.
Same weakness CWE-749 – Exposed Dangerous Method or Function
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today