PT-2026-75918 · Crates.Io · Nimiq-Blockchain
Publicado
2026-08-12
·
Atualizado
2026-08-12
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Impact
The validity store treats a transaction with stored
block number = X as "in window" only when X > last bn - transaction validity window blocks (strict inequality). However the protocol's Transaction::is valid at accepts a transaction for inclusion in any block in [validity start height - blocks per batch, validity start height + window - 1]. By choosing validity start height = X + blocks per batch (the largest value still compatible with first inclusion at block X), an attacker can replay the same signed transaction in any block B such that X + window < B < validity start height + window, i.e., a contiguous window of blocks per batch - 1 blocks (59 on MainNet, ~10 minutes) during which the replay-protection check fails to flag it. The same transaction is then executed twice: the sender is debited twice, the recipient credited twice.Patches
Workarounds
No known workarounds
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Nimiq-Blockchain