
Prova de conceito local e relatório sanitizado para CVE-2026-103442, uma injeção de objeto PHP no tratamento de merge-session do MediaWiki CentralAuth que pode levar à execução remota de código.
Repórter: Marco Paciaroni (BomboBombone).
O CentralAuth aceitava uma chave de sessão de mesclagem fornecida pelo navegador ao decodificar o estado de migração. Um usuário com o direito centralauth-merge podia substituir uma chave que produzia um grafo de objetos PHP. A cadeia FileCookieJar do Guzzle descrita no relatório grava um arquivo selecionado pelo objeto; cadeias de gadgets disponíveis no runtime afetado podem estender essa injeção de objeto para execução remota de código.
Use uma instalação local do MediaWiki com o CentralAuth e uma conta de teste que tenha o direito de mesclagem. Escolha um caminho de marcador exclusivo que ainda não exista e seja gravável pelo processo PHP local:
python poc.py --base-url http://127.0.0.1:4016 --username TestMergeUser --password '<test-password>' --marker /tmp/cve-2026-103442-canary.txt
O script aceita apenas URLs base de loopback. Ele cria e remove o arquivo marcador durante o teste.