# Armazenado XSS via título de entrada de estrutura na vista da tabela Um usuário do painel de controle de nível de autor pode armazenar uma carga útil do JavaScript em um título de entrada. Quando um administrador, ou qualquer usuário do painel de controle com `saveEntries` para a mesma seção de Estrutura, arrasta outra entrada sob a entrada envenenada na tabela, a carga útil executa- se na sessão da vítima. O problema é explorável porque o título é escapado para `data- title` pelo servidor, decodificado novamente pelo navegador, lido com o jQuery `.data(' title')` e, em seguida, concatenado em uma nova string HTML sem fuga de atributo.

A execução foi verificada com `alert(document.domain)`. O impacto foi verificado contra uma sessão de administração elevada, alterando o email do usuário de administração através de `usuários/salvar- usuário', em seguida, usando o fluxo de redefinição de senhas para assumir a conta. - O atacante tem `CriateEntries` + `saveEntries` em uma seção do tipo Estrutura (conta CP estilo Autor; não é necessária permissão de administrador). - A vítima tem `saveEntries` na mesma seção. O manual só renderiza os cabos de arrasto quando `structureEditable' for verdadeiro, o que requer essa permissão, por isso qualquer administrador se qualifica. - A seção deve ser do tipo Estrutura. Canal e seções únicas não são afetadas. - A entrada venenosa não deve ter filhos no momento do arrastamento (fogos no 0 - para... 1 Transição descendente). - Para o caminho de aquisição de contas de mudança de e- mail, a vítima deve atualmente ter uma sessão elevada. O próprio XSS armazenado não requer elevação. Linhas de `ElementTableSorter.js` 643 - 652. ````js const ancestralTítulo = este._updateAncestrales._$ancestor.data('title'); $( ' '.insertApós(...); ````.

` Craft.t` com chamadas `{title}` token `_parseToken`, atinge `caso 'ninguém': retorna arg` (` Craft.js: 193 - 194 `), e retorna o título textual. O resultado é entregue ao `$()' do jQuery e analisado como HTML. O modelo do lado do servidor codifica corretamente o título de entrada em `data-title`, mas o navegador decodifica esse atributo antes do jQuery o devolve a partir de `.data('title')`. Nesse ponto, o valor é HTML controlado pelo atacante, e é inserido no atributo `aria- label` sem `Craft.escapeHtml()`. ## Passos para reprodução. **Planta (ataque - conta de autor):**.

``` bash pitão 3 poc.py --url --cp admin \ --user author@ exemplo.com --pass secret -- section mySection ``` **Trigger (vítima - qualquer usuário do painel de controle com `saveEntries`, por exemplo, admin):** 1. Abra o índice da seção na vista da Tabela. 2. Arraste a entrada "Arraste- me" e solte- a como a primeira criança da entrada envenenada.

"alert(document.domain)" dispara na sessão da vítima. **Carga útil de impacto testada em uma sessão de administração elevada ( 249 chars, dentro do 255 - limite de título do cartões):** Quando ativado durante uma sessão de administrador elevada, o email do administrador é alterado para o endereço controlado pelo atacante. O atacante pode então solicitar uma senha de reset e receber o link de reset.

Armazenou o XSS no painel de controle de uma conta de nível de Autor. A carga útil é executada como o usuário do painel de controle de vítimas e pode usar `Craft.csrfTokenName` / `Craft.csrfTokenValue` para enviar pedidos de ação de origem iguais a esse usuário. No meu ambiente de teste, ativar a carga útil em uma sessão elevada de administração permitiu a tomada de conta de autor a administrador através de alterações de e- mail de administrador e resete de senha. ## Fatores de Mitigação. - Requer uma conta de painel de controle existente (mínimo papel do autor). - A vítima deve realizar uma operação de arrasto, não apenas visitar a página. - A aquisição demonstrada de e- mail- mudança requer que a sessão da vítima seja elevada no momento do gatilho.

162321 e 899 cc 97517 fb 6 f 5 a 02 b 5528 f 549 d 0 c 6 cc Registro de aconselhamento: GHSA-xrqc-p 465 - 2 xvg. Identificadores relacionados: CVE- 2026 - 55793. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 06 T 21: 35: 02.000 Z e lista a sua última modificação como 2026 - 07 - 06 T 21: 35: 02.000 Z.

Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 4: CVSS: 4.0 /AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/África do Sul:N. Software afetado e informações de versão: Packagist package craftcms/cms — ECOSISTEM: introduzido 5.0.0 - RC 1, corrigido 5.9.53. Classificação e evidência: identificadores de fraqueza CWE- 79. O registro contém 4 suporte de referências nestes tipos: WEB, AVISO, EMBALAGAMENTO.