### Resumo A chave cache da página CMS ignora os cabeçalhos do pedido que os plug-ins declaram via `get_vary_cache_on()`. O cabeçalho é adicionado ao cabeçalho da resposta `Vary`, mas a chave cache do próprio CMS não incorpora os valores do cabeçalho, por isso a variante do primeiro visitante é servida a todos os visitantes subsequentes independentemente dos seus valores do cabeçalho. ### Detalhes `_page_cache_key` (em `cms/cache/page.py`) chaves somente no prefixo cache, site, idioma, caminho e fuso horário. `set_page_cache` coleta os cabeçalhos de variação declarados pelo plugin e chama `patch_vary_headers(responde,...)` (afetando apenas o cabeçalho `Vary' emitido), mas armazena e recupera a página caché sob a chave de agnóstico de cabeçalho. `get_page_cache` portanto retorna qualquer variante que tenha sido armazenada primeiro. ### Impacto - **Informação:** quando um plugin varia a sua saída em um cabeçalho de pedido (por exemplo, `Code- País`), a variante renderizada para o primeiro visitante anônimos é servida a todos até que a entrada expire, vazando conteúdo específico de pedido entre usuários. - **Envenenamento de cache:** um atacante não autenticado pode iniciar o cache de página anônima com conteúdo render a partir dos valores de cabeçalho do atacante- escolhido, que é então servido a visitantes subsequentes.
Aplica somente quando `CMS_PAGE_CACHE` está ativado e pelo menos um plug- in implementa `get_vary_cache_on()`. ### Patches corrigidos 5.0.8: o cache da página dobra agora os valores do pedido implementa `get_vary_cache_on()`. ### Patches corrigidos 5.0.8: o cache de página dobra os valores do pedido para os cabeçalhos declarados pelo plugin variam para a chave de conteúdo. O conjunto de cabeçalhos variados é persistente na escrita e procurado primeiro na leitura (melodiando o 'learn_cache_key`/`get_cache_key` do Django); um item de lista de cabeçalhos faltando degrada- se para um miss do cache, nunca um batimento de variação errada.
### Arrancamentos Desativar `CMS_PAGE_CACHE`, ou evitar plug- ins que confiem em `get_vary_cache_on()`, até atualizar. ### Créditos Relatórios pela equipe de segurança da Universidade de Sydney ([@reporter]). Registro de aconselhamento: GHSA-fwjf-m 4 qw-. 9 f 2 x. Identificadores relacionados: CVE- 2026 - 54625.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 24 T 20: 09: 51.000 Z e lista a sua última modificação como 2026 - 08 - 24 T 20: 09: 52.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N.
Software afetado e informações de versão: pacote django-cms do PyPI — ECOSISTEM: introduzido 0, corrigido 5.0.8. Classificação e evidência: identificadores de fraqueza CWE- 349, CWE- 524. O registro contém 9 suporte de referências nestes tipos: WEB, AVISO, EMBALAGAMENTO.