# XXE flaw found in Sparx Enterprise Architect

Published: 2026-10-15 · Severity: elevated
Canonical: https://vorant.io/reports/f3a9b177-12ca-510b-92c9-0a87a4d4287a/xxe-flaw-found-in-sparx-enterprise-architect

> CERT Polska discloses an XXE vulnerability in Sparx Systems Enterprise Architect's XSLT Debugger allowing arbitrary file reads via crafted XML.

CERT Polska coordinated disclosure of CVE-2026-88794, an XML External Entity (XXE) injection vulnerability in Sparx Systems Enterprise Architect, specifically within the XSLT Debugger feature. When a user opens a maliciously crafted XML file containing a DOCTYPE declaration referencing an external DTD, the application's XML parser processes external entities, enabling an attacker to read arbitrary files from the victim's filesystem. Exploitation requires user interaction (opening the crafted file) rather than being remotely triggerable without action.

The vulnerability has been confirmed in Enterprise Architect version 17.1. CERT Polska notes that vendor contact attempts were unsuccessful, so the full scope of affected versions remains unverified — other versions using the same XSLT Debugger XML parsing logic may also be vulnerable. There is no indication in the report of in-the-wild exploitation; this is a coordinated disclosure following responsible reporting by researcher Hlib Yavorskyi working with Trend Micro's Zero Day Initiative (ZDI).

Defenders running Enterprise Architect should treat untrusted or unsolicited XML files opened via the XSLT Debugger feature with caution until a vendor patch is available, given the lack of confirmed vendor response. Organizations should monitor for vendor advisories or patches, restrict the opening of external/unsolicited XML files in Enterprise Architect, and consider disabling or restricting DTD/external entity processing where configurable.

## Mentioned in this report

- Vulnerabilities: CVE-2026-88794

## Detection guidance (public sample)

### Sparx Enterprise Architect Outbound Connection to Non-Vendor External Host

ATT&CK: T1221

EA.exe connecting to a public IP that is not a Sparx host, which can indicate external DTD/entity retrieval (XXE) while opening a crafted XML file in the XSLT Debugger. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Sparx Enterprise Architect Outbound Connection to Non-Vendor External Host
id: 20345018-02a2-5514-82fb-f17afac31063
status: experimental
description: Detects the Sparx Enterprise Architect process (EA.exe) making outbound
  connections to public addresses that are not Sparx vendor hosts. A crafted XML file
  with a DOCTYPE referencing an external DTD (XXE, CVE-2026-88794, XSLT Debugger)
  causes the parser to fetch the external resource. Tune by baselining the plugin,
  model repository and license endpoints in your environment.
references:
- https://cert.pl/en/posts/2026/10/CVE-2026-88794
tags:
- attack.collection
- attack.t1005
- attack.stealth
- attack.t1221
logsource:
  category: network_connection
  product: windows
detection:
  selection:
    Image|endswith: \EA.exe
    Initiated: 'true'
  filter_private:
    DestinationIp|cidr:
    - 10.0.0.0/8
    - 172.16.0.0/12
    - 192.168.0.0/16
    - 127.0.0.0/8
    - 169.254.0.0/16
  filter_vendor:
    DestinationHostname|endswith:
    - .sparxsystems.com
    - .sparxsystems.eu
  condition: selection and not 1 of filter_*
falsepositives:
- Enterprise Architect connecting to cloud-hosted model repositories (Pro Cloud Server)
  or licence servers
- Enterprise Architect add-ins or MDG technologies fetching content from third-party
  sites
level: low
author: Vorant
```

### Sparx Enterprise Architect DNS Query to Non-Vendor Domain

ATT&CK: T1221

EA.exe resolving a non-Sparx domain, which can indicate an XXE external DTD fetch triggered by opening a crafted XML file in the XSLT Debugger. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Sparx Enterprise Architect DNS Query to Non-Vendor Domain
id: 8fb381ca-df4e-5ff2-a750-71fe88bbbb37
status: experimental
description: Detects DNS lookups by EA.exe for domains outside the Sparx vendor domains.
  Opening a crafted XML file with an external DOCTYPE/DTD reference in the XSLT Debugger
  (XXE, CVE-2026-88794) forces the parser to resolve the attacker-hosted entity host.
  Correlate with a recently opened XML file and baseline legitimate repository hosts.
references:
- https://cert.pl/en/posts/2026/10/CVE-2026-88794
tags:
- attack.collection
- attack.t1005
- attack.stealth
- attack.t1221
logsource:
  category: dns_query
  product: windows
detection:
  selection:
    Image|endswith: \EA.exe
  filter_vendor:
    QueryName|endswith:
    - sparxsystems.com
    - sparxsystems.eu
  condition: selection and not filter_vendor
falsepositives:
- Enterprise Architect connecting to internally named or cloud-hosted model repositories
- Certificate revocation or OS telemetry lookups attributed to the EA process
level: low
author: Vorant
```

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://cert.pl/en/posts/2026/10/CVE-2026-88794

---

This is the free public brief from Vorant Threat Intelligence. When citing, attribute "Vorant" and link https://vorant.io/reports/f3a9b177-12ca-510b-92c9-0a87a4d4287a/xxe-flaw-found-in-sparx-enterprise-architect.
In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), live profiles of the actors and CVEs it names, and the vendor research on the same campaign. Slack alerts fire on the vendors, sectors and countries a reader follows. A new account starts with three days of all of it, no card: https://vorant.io/signup
