← back
CVE-2025-5086criticalunder attackCWE-502

Deserialization of Untrusted Data vulnerability affecting DELMIA Apriso from Release 2020 through Release 2025

95Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9epss 90%
from disclosure to weapon
Published on NVDJun 2
CISA KEV+101d
exploitation probability
90%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
Action required by CISAfederal deadline: 2025-10-02

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Summary

Falha de deserialização insegura (CWE-502) no serviço web SOAP FlexNetOperationsService do DELMIA Apriso, MES/MOM da Dassault Systèmes usado para gestão de operações de manufatura. Um atacante sem autenticação que alcance o endpoint pela rede pode enviar um payload serializado malicioso e obter execução remota de código no servidor. Está no catálogo KEV da CISA com exploração confirmada em campo, o que eleva a urgência muito além do que o CVSS por si só sugeriria.

Technical detail

O ponto vulnerável é o endpoint WCF `/apriso/WebServices/FlexNetOperationsService.svc/Invoke`, que aceita um envelope SOAP contendo um objeto serializado em XML (DataContractSerializer/NetDataContractSerializer, formato `z:Type`/`z:Assembly` típico do .NET). O serviço desserializa esse conteúdo sem validar o tipo esperado, permitindo que o atacante controle totalmente qual classe .NET é instanciada — a essência de uma vulnerabilidade de deserialização de dados não confiáveis.

O gadget observado em exploração real abusa de `System.Collections.Generic.SortedSet` com um `ComparisonComparer` cujo delegate é reconstruído via `System.DelegateSerializationHolder`, apontando o método de comparação para `System.Windows.Markup.XamlReader.Parse`. Isso força o runtime a interpretar uma string controlada pelo atacante como XAML durante a própria desserialização — técnica clássica de gadget chain (equivalente a cadeias documentadas em ferramentas de exploração de deserialização .NET) para escapar do contexto de dados e atingir execução de código.

O payload real trafega dentro do XML como uma string em Base64, comprimida com GZip (o XAML referencia `System.IO.Compression`), e ao ser processado pelo XamlReader pode instanciar objetos arbitrários — incluindo os que carregam assemblies, invocam métodos ou executam comandos do sistema operacional, dependendo do gadget final usado após o `Parse`.

O vetor `CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H` reflete: acesso via rede, sem privilégio nem interação do usuário, mas complexidade de ataque alta — construir a cadeia de gadgets correta em XML e SOAP não é trivial — e escopo alterado (S:C), já que a execução de código no servidor de aplicação Apriso compromete recursos além do próprio componente vulnerável, tipicamente o sistema operacional subjacente e dados de manufatura integrados a ERP.

How it’s exploited

O ataque é feito via uma requisição HTTP POST não autenticada contra o endpoint SOAP do FlexNetOperationsService, normalmente exposto em uma porta dedicada do Apriso (observada exploração contra a porta 9000 em instâncias reais). O corpo da requisição é um envelope SOAP XML contendo o objeto serializado malicioso; nenhum login, token ou cookie de sessão é necessário — a exposição do serviço na rede (ou internet, se mal segmentado) é o único pré-requisito de acesso.

A SANS ISC documentou tentativas de exploração ativas capturadas em honeypots, com scans de origem em pelo menos um IP identificado, enviando o payload descrito acima contra instâncias expostas do Apriso. A complexidade prática do ataque está na engenharia do gadget de deserialização (montar a cadeia SortedSet → DelegateSerializationHolder → XamlReader.Parse com o payload em Base64/GZip), não na dificuldade de acesso ao endpoint — uma vez que o exploit está construído, o disparo é uma única requisição HTTP.

O resultado final documentado é execução remota de código no contexto do serviço Apriso, o que em um MES de manufatura pode significar controle sobre o sistema que orquestra linhas de produção e integrações com ERP — impacto que vai além do vazamento de dados e chega a disrupção operacional física.

Versions

Affected
DELMIA Apriso Release 2020 até Release 2025 (conforme advisory do fornecedor).
Fixed in
Não determinado nas fontes disponíveis. O advisory oficial da Dassault Systèmes e a Knowledge Base vinculada à CVE devem ser consultados para o hotfix/versão de correção específica por release; nenhuma das fontes lidas especifica o número exato da versão corrigida.

How to protect

O fornecedor publicou advisory reconhecendo a falha em Release 2020 até Release 2025, mas as fontes disponíveis não trazem o número exato da versão ou hotfix corrigido — é necessário consultar diretamente o advisory oficial da Dassault Systèmes e a Knowledge Base vinculada à CVE para obter o patch específico ao seu release e aplicá-lo. Não presuma que uma versão é segura sem confirmar no advisory: a faixa afetada é ampla (múltiplos releases anuais).

Se a atualização imediata não for viável, o controle compensatório mais eficaz é restringir o acesso de rede ao endpoint `/apriso/WebServices/FlexNetOperationsService.svc` — segmentação, firewall ou VPN limitando quem alcança a porta do serviço Apriso — já que a falha não exige autenticação. Bloquear ou filtrar no perímetro requisições SOAP contra esse serviço específico, e inspecionar/rejeitar corpos XML contendo tokens como `DelegateSerializationHolder`, `XamlReader`, `SortedSet` combinados com `z:Assembly`/`z:Type` reduz a superfície, mas é mitigação de borda, não correção da causa raiz.

Desativar o endpoint FlexNetOperationsService, se não for usado no ambiente, remove o vetor por completo. Não confie em WAF genérico sem regra específica para esse padrão de serialização — regras de proteção contra SQLi/XSS não detectam esse tipo de payload XML. A CISA incluiu a CVE no catálogo KEV com prazo de remediação até 02/10/2025 para agências federais dos EUA sob BOD 22-01, sinal de que a exploração ativa já é considerada consolidada.

How to detect

Monitorar logs de acesso ao endpoint `/apriso/WebServices/FlexNetOperationsService.svc/Invoke` (e à porta correspondente do serviço) por requisições POST com `SOAPAction: "http://tempuri.org/IFlexNetOperationsService/Invoke"` e corpo XML contendo assinaturas de deserialização .NET como `System.Collections.Generic.SortedSet`, `System.DelegateSerializationHolder`, `System.Windows.Markup.XamlReader` ou grandes blocos de string em Base64 dentro do elemento `Items`/`string`. A presença desses tokens em tráfego SOAP para esse serviço é forte indicador de tentativa de exploração, não de uso legítimo da API.

A SANS ISC relatou scans a partir de pelo menos um IP identificado publicamente, mas isso não deve ser tratado como lista exaustiva de indicadores de comprometimento — não há assinatura única confiável além do padrão estrutural do payload SOAP/XML descrito, e variações no gadget chain podem escapar de detecção baseada apenas em substrings fixas.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
A deserialization of untrusted data vulnerability affecting DELMIA Apriso from Release 2020 through Release 2025 could lead to a remote code execution.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H