← back
CVE-2025-2749highunder attackCWE-22CWE-434

Kentico Xperience <= 13.0.178 Staging Media File Upload Authenticated RCE

71Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 7.2epss 3.9%
from disclosure to weapon
Published on NVDMar 24
CISA KEV+392d
exploitation probability
3.9%top 11% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2026-05-04

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

CVE-2025-2749 é uma falha de path traversal (CWE-22) combinada a upload irrestrito de arquivo (CWE-434) no serviço de sincronização Staging Sync Server do Kentico Xperience, que permite a um usuário autenticado no serviço de sync gravar arquivos em locais fora do diretório de mídia esperado, incluindo conteúdo executável pelo servidor — resultando em RCE. Importa porque está no catálogo KEV da CISA com exploração confirmada, mas o requisito de autenticação (PR:H) e a necessidade de o Staging Service estar habilitado com autenticação usuário/senha limitam quem realmente está exposto — a menos que essa autenticação já tenha sido quebrada por falhas relacionadas descobertas na mesma pesquisa.

Technical detail

O Staging (Sync) Service do Kentico Xperience expõe o webservice CMS.Synchronization.WSE3.SyncServer no endpoint /CMSPages/Staging/SyncServer.asmx, construído sobre Web Services Enhancements 3.0 (WSE3) — tecnologia obsoleta desde ~2012 — usando WS-Security para autenticação e SoapFormatter para desserialização (a mesma classe que já foi alvo de deserialização insegura na CVE-2019-10068, posteriormente endurecida). O método ProcessSynchronizationTaskData recebe um blob stagingTaskData com instruções de sincronização entre instâncias staging e produção, incluindo operações de upload de arquivos de mídia.

A falha está em como o serviço deriva o caminho de destino desses arquivos de mídia a partir de dados controlados pelo payload de sincronização, sem sanitização suficiente contra sequências de traversal. Isso permite escrever fora do diretório de mídia esperado (CWE-22). Combinado à ausência de restrição efetiva sobre tipo/extensão do conteúdo enviado (CWE-434), o atacante pode depositar um arquivo com extensão executável pelo servidor dentro da raiz web, alcançando execução de código quando esse arquivo é posteriormente invocado.

O vetor CVSS 3.1 (PR:H) indica que o pré-requisito é possuir a credencial configurada para o Staging Sync Service — não necessariamente uma conta administrativa completa do CMS. Essa credencial costuma ser compartilhada entre as instâncias staging e produção que sincronizam entre si, e sua obtenção (inclusive via falhas de bypass de autenticação relacionadas, documentadas na mesma pesquisa) reduz o risco efetivo a pré-autenticado.

How it’s exploited

A pesquisa da watchTowr Labs (Piotr Bazydlo) que originou este CVE identificou três achados relacionados no mesmo componente: WT-2025-0006 e WT-2025-0011 (bypass de autenticação do SyncServer, em versões distintas) e WT-2025-0007 (RCE pós-autenticação via upload de mídia com path traversal, que corresponde a este CVE-2025-2749). Encadeados, os bypasses de autenticação eliminam a necessidade de credenciais reais para o Staging Service, tornando a exploração de ponta a ponta efetivamente pré-autenticada. Considerado isoladamente, CVE-2025-2749 exige que o atacante já detenha (ou obtenha por outro meio) o usuário/senha configurado para o Staging Sync Server.

A pré-condição destacada pela própria watchTowr é a mais relevante para avaliar exposição real: o Staging/Sync Service vem desabilitado por padrão e precisa estar ativo E configurado com autenticação usuário/senha (não X.509) para o alvo ser explorável por essa via. Segundo a watchTowr, com base em dados de exposição de seus clientes, essa configuração é comum em ambientes corporativos que usam sincronização staging→produção — não é um cenário de nicho, apesar de não ser o padrão de fábrica.

Com acesso ao serviço, o atacante envia uma requisição SOAP para /CMSPages/Staging/SyncServer.asmx invocando ProcessSynchronizationTaskData com dados de sincronização de mídia manipulados para escrever fora do diretório de destino esperado, depositando um arquivo executável pelo servidor dentro da estrutura web. O resultado final é RCE completo no contexto do processo IIS/ASP.NET. A presença desta CVE no catálogo KEV da CISA confirma exploração ativa observada no mundo real.

Versions

Affected
Kentico Xperience através da versão 13.0.178 (conforme descrição oficial do fornecedor: 'this issue affects Kentico Xperience through 13.0.178'). Há indícios de alta confiança, segundo a watchTowr, de que a versão 12 (e possivelmente anteriores) também é afetada pelas falhas de bypass de autenticação relacionadas, embora essa versão não tenha sido revisada diretamente pelos pesquisadores.
Fixed in
O fornecedor corrigiu as vulnerabilidades relacionadas de bypass de autenticação em hotfixes específicos: WT-2025-0006 em 13.0.173 e WT-2025-0011 em 13.0.178. As fontes disponíveis não especificam o número exato do hotfix que corrige isoladamente esta falha de upload/path traversal (WT-2025-0007/CVE-2025-2749); recomenda-se aplicar o hotfix mais recente disponível no portal oficial de hotfixes do Kentico.

How to protect

A recomendação do fornecedor é aplicar hotfix via Kentico Xperience Installation Manager. A cadeia de vulnerabilidades descoberta pela watchTowr foi corrigida em sequência de hotfixes: WT-2025-0006 em 13.0.173 e WT-2025-0011 em 13.0.178. A descrição oficial do CVE indica que a versão vulnerável se estende 'through 13.0.178', o que aponta para correção em hotfix posterior a essa versão — as fontes disponíveis não confirmam o número exato do hotfix que resolve isoladamente WT-2025-0007/CVE-2025-2749, portanto a orientação segura é instalar o hotfix mais recente disponível no portal de hotfixes do Kentico, não apenas '13.0.179' ou qualquer número específico não verificado.

Se a atualização imediata não for viável, os controles compensatórios reais são: desabilitar o Staging (Sync) Service se ele não estiver em uso operacional; se precisar mantê-lo ativo, migrar a autenticação do serviço de usuário/senha para X.509, já que a pesquisa da watchTowr indica que a configuração baseada em certificado X.509 não é afetada pela cadeia de bypass associada; e restringir por rede (allowlist de IP/firewall) o acesso ao endpoint /CMSPages/Staging/SyncServer.asmx apenas aos hosts que efetivamente participam da sincronização staging/produção, já que o vetor exige acesso de rede a esse endpoint SOAP.

Não funciona como mitigação assumir que o requisito de autenticação (PR:H) por si só neutraliza o risco: as falhas de bypass de autenticação relacionadas (WT-2025-0006, WT-2025-0011), documentadas na mesma pesquisa e no mesmo componente, permitem contornar esse requisito. Corrigir apenas esta CVE isoladamente, sem tratar as demais da mesma cadeia, deixa o ambiente exposto a exploração efetivamente pré-autenticada.

How to detect

Monitorar logs de acesso web (IIS) por requisições POST para /CMSPages/Staging/SyncServer.asmx com cabeçalho SOAPAction referenciando ProcessSynchronizationTaskData, especialmente originadas de IPs que não correspondem aos hosts legítimos de sincronização staging/produção. Dentro do corpo SOAP, buscar sequências de path traversal (ex. ../, variantes codificadas) no elemento stagingTaskData ou em dados relacionados a caminho de arquivo de mídia.

O conteúdo do payload de sincronização costuma ser tratado como blob binário/serializado, o que limita a visibilidade em logs de aplicação padrão — nesse caso, o sinal mais confiável disponível é a criação inesperada de arquivos com extensão executável pelo servidor (.aspx, .ashx e similares) fora dos diretórios de mídia esperados, com timestamp correlato a acesso ao endpoint SyncServer.asmx.

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.
An authenticated remote code execution in Kentico Xperience allows authenticated users Staging Sync Server to upload arbitrary data to path relative locations. This results in path traversal and arbitrary file upload, including content that can be executed server side leading to remote code execution.This issue affects Kentico Xperience through 13.0.178.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Affected products
Kentico · Xperience
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.