
Artigo de pesquisa assinado e demonstração ao vivo de recuperação de chave contra o branch NOSSL do InfiniteWP Client, que deriva sua chave de assinatura a partir de 31 bits de segredo sobre um prefixo público.
knell
Carimbo de data/hora do registro (archive.org): https://archive.org/details/knell-thirty-one-bits
InfiniteWP Client 1.13.10 — um plugin de gerenciamento para WordPress com aproximadamente 200.000 instalações — possui um segundo ramo de autenticação, NOSSL, que o painel de registro seleciona ao definir um único parâmetro de requisição, mesmo em hosts que poderiam usar RSA. Uma vez selecionado, o ramo é permanente e sua chave de assinatura é gerada como o MD5 da chave pública do painel concatenada com um único resultado de rand(): não mais que 2^31 de segredo, sobre um prefixo que qualquer um pode conhecer. A assinatura cobre apenas a ação e o ID da mensagem; os parâmetros nunca são assinados, e requisições capturadas são reproduzidas com parâmetros alterados. Comprovado ao vivo contra nossa própria instância: a partir de uma única requisição capturada e da chave pública do painel, a chave foi recuperada offline em 291,9 segundos e um comando forjado que altera o estado foi aceito — falsificação irrestrita e permanente do canal de gerenciamento do site. O artigo não afirma que todas as 200.000 instalações estejam registradas via NOSSL; a proporção de instalações registradas não é mensurável externamente. Esta é a primeira publicação desta construção de que se tem registro.
gpg --import knell-public.asc
gpg --verify paper-infinitewp-FINAL-2026-11-04.md.asc
Esperado: Good signature from "knell", chave 133883AB9F6EDE5B9BA6B82E27BEDAF0CE152F25
Fingerprint: 1338 83AB 9F6E DE5B 9BA6 B82E 27BE DAF0 CE15 2F25