Full research report
Clop-Linked Windchill Web Shell Decrypts Credentials and Maps Engineering Data
Executive assessment
The strongest evidence concerns CVE-2026-12569: CISA confirms exploitation and ransomware use, while NVD identifies network-reachable untrusted-data deserialisation in Windchill PDMLink and FlexPLM. ReliaQuest's analysis shows that the post-exploitation web shell is tailored to Windchill rather than being a generic command shell, allowing it to recover keystore secrets and inventory engineering files through trusted application interfaces. Censys independently places exploitation in an environment with relatively few but strategically valuable internet-facing deployments and links the broader timeline to Clop-branded extortion. CVE-2021-27101 and CVE-2023-34362 strengthen the behavioural comparison with prior Clop campaigns but should not be presented as vulnerabilities used against Windchill. Attribution remains highly likely rather than conclusive, and no verified public PoC was found.
What happened
PTC disclosed CVE-2026-12569 on 17 June 2026, and CISA added it to the Known Exploited Vulnerabilities catalogue on 25 June after exploitation was observed in ransomware-linked activity. July reporting connected data-theft extortion emails and Windchill JSP web-shell deployment to Clop with varying confidence. On 18 August, ReliaQuest published analysis of a bespoke implant that can enumerate engineering files, decrypt Windchill-held credentials and load additional Java code in memory.
Affected scope
CVE-2026-12569 affects PTC Windchill PDMLink and FlexPLM, including releases before 11.0 M030, all cumulative patch set versions covered by the advisory, and multiple listed 11.x, 12.x and 13.x branches. Internet-facing deployments are the immediate priority; exposed organisations span manufacturing, industrial machinery, automotive, aerospace, retail and other engineering-intensive sectors. CVE-2021-27101 and CVE-2023-34362 concern earlier Accellion FTA and MOVEit campaigns respectively and are historical Clop tradecraft comparators, not Windchill vulnerabilities.
Technical assessment
Published records describe network-reachable untrusted-data deserialisation and improper input validation leading to unauthenticated remote code execution. After access, the observed JSP implant operates within Windchill's application context, uses its keystore and database interfaces to recover credentials and map vault files, and can load additional Java bytecode in memory. ReliaQuest observed command traffic in a non-standard X-windchill-req HTTP header, compressed responses, creation of flst.txt during vault enumeration and activity attributed to Windchill's normal database identity, all of which can weaken simple signature or account-based detection.
Recommended defensive actions
- Apply the vendor-provided fixes for CVE-2026-12569 across every Windchill and FlexPLM deployment, using PTC support guidance to identify the correct fixed cumulative patch set.
- Inventory all Windchill and FlexPLM instances and restrict unnecessary internet exposure, particularly login and management interfaces.
- Hunt for unexpected or recently modified JSP files under Windchill codebase paths, especially the login directory, and inspect files referencing X-windchill-req, MethodContext, WTConnection or WTKeyStoreUtil.
- Search web and proxy telemetry for unusual X-windchill-req headers, compressed anomalous responses, large outbound transfers and access involving published campaign indicators.
- Investigate creation of flst.txt, unusual vault-table queries under the Windchill service identity and subsequent abnormal use of LDAP or administrative accounts.
- Rotate all Windchill-keystore credentials, LDAP manager secrets and affected downstream credentials on suspected systems, and revoke existing sessions or tokens.
- Isolate suspected servers and preserve web, application, database, file-system and identity evidence before removing web shells or rebuilding affected hosts.
Uncertainties and evidence gaps
- Clop attribution is assessed as highly likely from extortion contacts, tradecraft and implant characteristics but has not been independently proven through exclusive infrastructure or code ownership.
- The number and identities of compromised organisations, the volume of stolen engineering data and the extent of follow-on network access remain unknown.
- Exact fixed cumulative patch set versions are contained in PTC's access-controlled support material and could not be independently enumerated from the public page.
- No public exploit or proof-of-concept code was verified; active exploitation and an operational web shell do not themselves establish public PoC availability.
- A separately reported FlexPLM WSDL information-disclosure weakness may have been chained in some intrusions, but its identifier and precise role were not established from an accessible primary advisory.
Vulnerability flow
Defender-oriented path reconstructed only from sourced report findings. Unknown stages are omitted.
Confirmed active exploitation of CVE-2026-12569 in a ransomware-linked data-extortion campaign; no public PoC was located, and GitHub records no known source code.
The investigation began by testing whether the supplied article described a new Windchill campaign or merely reused historical Clop reporting. Government records and the vulnerability record confirmed current exploitation of CVE-2026-12569, while ReliaQuest supplied the detailed implant analysis and Censys independently corroborated campaign timing, exposure and extortion context. The evidence supports an active Windchill data-extortion campaign with a highly likely Clop link, while CVE-2021-27101 and CVE-2023-34362 are relevant only as historical parallels.
- What event and claims does the supplied story describe?Read the supplied Hacker News article and followed its references to the vulnerability, ReliaQuest analysis and earlier campaign reporting.thehackernews.com โ
The article reports a bespoke JSP web shell deployed after CVE-2026-12569 exploitation, with credential recovery, vault enumeration and in-memory code-loading capabilities.
why This framed the focused event as current Windchill exploitation rather than the older Accellion or MOVEit campaigns.
- Which products and releases are formally associated with CVE-2026-12569?Reviewed the National Vulnerability Database entry and its affected software configurations.nvd.nist.gov โ
The record identifies Windchill PDMLink and FlexPLM, describes untrusted-data deserialisation, includes releases before 11.0 M030 and lists affected 11.x, 12.x and 13.x branches.
why This confirmed the product scope and technical weakness independently of media reporting.
- Are exact vendor patches publicly verifiable?Opened the PTC support article referenced by NVD.ptc.com โ
The advisory redirected to PTC's support login, so its detailed fixed-version and cumulative patch set table was not publicly readable.
why This requires defenders to verify their exact fixed build through authenticated PTC support rather than relying on an inferred version boundary.
- Is exploitation in the wild formally confirmed?Reviewed CISA's filtered Known Exploited Vulnerabilities catalogue entry.cisa.gov โ
CISA lists unauthenticated remote code execution, added the CVE on 25 June 2026 and marks its use in ransomware campaigns as known.
why This elevates the status from technically exploitable or vendor-reported activity to confirmed exploitation requiring urgent remediation.
- What does the observed post-exploitation implant actually do?Read ReliaQuest's original technical report and indicators.reliaquest.com โ
The web shell decrypts Windchill-keystore credentials, maps vault files, uses Windchill's own database context, loads Java code in memory and communicates through X-windchill-req with compressed responses.
why These findings establish the immediate risks of credential compromise and engineering-data theft and provide concrete host, network and database hunting opportunities.
- How was the campaign described before the implant analysis?Reviewed the earlier reporting that linked exploitation, JSP deployment and extortion activity.thehackernews.com โ
Earlier reporting described internet-facing Windchill and FlexPLM attacks, hex-named JSP files, engineering-data staging and Clop-themed extortion emails across manufacturing, automotive, aerospace and retail targets.
why This supplied timeline and sector context but was treated as secondary reporting rather than sole proof of attribution.
- Does independent exposure research corroborate the campaign context?Reviewed Censys research on exposed Windchill services and associated infrastructure.censys.com โ
Censys observed fewer than 100 exposed instances in early June, declining exposure after disclosure, short-lived activity across published indicator addresses and Clop contact infrastructure associated with July extortion emails.
why This independently supports the exposure, timing and extortion context while showing that a small public footprint can still contain high-value targets.
- Is public exploit or PoC code available?Searched GitHub repositories for the exact CVE with exploit and PoC terms.github.com โ
The search returned a threat-hunting repository rather than a public exploit implementation.
why This search did not establish public PoC availability, so active exploitation was kept distinct from publicly available exploit code.
- Does a public vulnerability record identify known source code?Reviewed the GitHub Advisory Database entry.
The entry marks the vulnerability critical and network reachable but states that no source code is known and leaves patched versions unspecified.
why This corroborates the absence of verified public exploit source while reinforcing the need to obtain exact patch information from PTC.
Research coverage
All 68 registered source leaves were evaluated for this run: 58 completed, 0 were unavailable, 3 failed and 7 were disabled. For this story, 5 registered sources supplied useful evidence (2 primary, 1 corroborating, 2 contextual and 0 PoC/exploit references). 53 completed sources contained no matched information for this story.
Complete source-by-source audit 68 sources
| Source | Run result | Value | Why it was useful โ or not |
|---|---|---|---|
| CISA KEVkev | ok1671 records | Primary evidence4 matched items | Confirmed that a related CVE is listed in CISA's Known Exploited Vulnerabilities catalogue. Supplied a vendor or government advisory opened and verified during focused research. |
| The Hacker Newsnews | ok9 records | Primary evidence1 matched items | Published the source report used to frame and date the event. |
| CISA Alertsnews | ok empty0 records | Corroborating1 matched items | A page from this source was opened and verified during focused research. |
| deepdarkCTI CVE most exploiteddeepdarkcti | ok94 records | Context1 matched items | Provided lower-confidence OSINT context matched to an explicit CVE. |
| FIRST EPSSepss | ok7807 records | Context3 matched items | Added exploitation-probability context; EPSS does not itself prove exploitation. |
| AlienVault OTXdark_web | failed0 records | Failed | The current collection attempt failed; this source cannot support the report. |
| BleepingComputernews | ok12 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| CIRCL CVEcve | ok30 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Cisco PSIRTvendor_advisory | stale fallback0 records | Failed | The current collection attempt failed; this source cannot support the report. |
| Cisco Talosnews | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Discorddeepdarkcti | ok7 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI exploitsdeepdarkcti | ok24 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI forumsdeepdarkcti | ok264 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI malware as a servicedeepdarkcti | ok7 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI malware samplesdeepdarkcti | ok3 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI marketsdeepdarkcti | ok127 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI phishingdeepdarkcti | ok19 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI ransomware gangsdeepdarkcti | ok685 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI RATsdeepdarkcti | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Telegram infostealerdeepdarkcti | ok130 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Telegram threat actorsdeepdarkcti | ok1009 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Twitter threat actorsdeepdarkcti | ok39 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| DNSDumpster domain IOC enrichmentresearch | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Exploit-DBexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Fortinet PSIRTvendor_advisory | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| GitHub topic: cveresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: exploitresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: penetration-testingresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: pocresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: vulnerabilityresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GreyNoiseexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| KrebsOnSecuritynews | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| LinkedIn RSS proxy feeds (disabled)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| MalwareBazaardark_web | ok3 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #cveresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #cybersecurityresearch | ok17 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #exploitresearch | ok10 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #infosecresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #malwareresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #ransomwareresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #threatintelresearch | ok12 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #vulnerabilityresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Metasploit module metadataexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Microsoft MSRCvendor_advisory | ok1590 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Microsoft Securitynews | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| MISP Galaxyresearch | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| MISP threat actor galaxyactor | ok0 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| NVDcve | failed0 records | Failed1 matched items | The current collection attempt failed; this source cannot support the report. |
| Palo Alto Networks PSIRTvendor_advisory | ok25 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| ProjectDiscovery nuclei templatesexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Rapid7news | ok2 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Reddit r/AskNetsec (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/cybersecurity (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/malware (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/netsec (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/ReverseEngineering (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| SANS ISCnews | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Shadowserver public aggregate honeypot observationsexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Shodanresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Sigma Rulesresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Sophos IOCsresearch | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| ThreatFoxthreat_intelligence | ok100 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| UK NCSCnews | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Unit42 IOCsresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| URLhausdark_web | ok10 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| VirusTotal Community IOC enrichmentresearch | ok4 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| VulnCheck KEVkev | ok500 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Vulnerability Lookupcve | ok30 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
Additional verified pages 13 opened outside the registered collection
Vulnerability & exploitation6
OSINT / dark-web chatter1
Vendor & gov advisories2
Confirms exploitation in the wild, unauthenticated remote code execution and known ransomware-campaign use.
Describes untrusted-data deserialisation affecting Windchill PDMLink and FlexPLM and lists affected releases.
Analysis & research3
Primary technical analysis of the Windchill-specific JSP web shell, its indicators and defensive recommendations.
Independently examines exposure, campaign infrastructure, extortion reporting and the affected sector profile.
The supplied report accurately summarises the subsequently verified ReliaQuest findings.