Bitcoin Core a dezvăluit marți, 10 noiembrie, detaliile a trei vulnerabilități remediate în 2025, dintre care una de severitate ridicată putea împiedica un nod de minare să producă blocuri după o reorganizare a lanțului. Publicarea a venit la două săptămâni după ce ultima versiune afectată, 29.x, a ieșit din suport pe 27 octombrie 2026.
Cele trei vulnerabilități
Avizele au fost adăugate pe site-ul oficial printr-un pull request pe GitHub deschis de darosior și integrat de fanquake în aceeași zi. Potrivit descrierii PR-ului, bug-urile fuseseră pre-anunțate cu două săptămâni înainte, odată cu lansarea versiunii 32.1.
- CVE-2025-62859 - procesarea blocurilor putea fi blocată de un peer care anunța un bloc compact cu martor (witness) modificat
- CVE-2025-62860 - conexiunile Tor de intrare primeau greșit permisiuni -whitelist, ceea ce ridica protecțiile anti-DoS și de confidențialitate
- CVE-2025-62861 - crearea șabloanelor de bloc era oprită de eliminarea tranzacțiilor TRUC (v3) în timpul unui reorg
CVE-2025-62861 este clasificat ca fiind de severitate ridicată în avizul publicat.
Cum funcționa bug-ul de severitate ridicată
Tranzacțiile TRUC (versiunea 3, definite în BIP 431) pot avea în mempool cel mult un strămoș și cel mult un descendent neconfirmat. Când o tranzacție nouă ar da unui părinte TRUC un al doilea copil neconfirmat, logica de „sibling eviction”, introdusă în v28.0, elimină copilul existent după regulile replace-by-fee, dacă tranzacția nouă plătește suficient.
Acestea sunt reguli de politică a mempool-ului, nu reguli de consens, așa că un bloc valid poate conține orice topologie. În timpul unui reorg, tranzacțiile din blocurile deconectate sunt readăugate în mempool cu bypass_limits=true, dar verificarea TRUC nu era condiționată de acest parametru și rula oricum.
Rezultatul: o tranzacție restaurată putea fi eliminată, iar descendenții ei rămâneau în mempool și cheltuiau ieșiri care nu mai existau. Șablonul de bloc asamblat de un miner nu mai trecea verificarea de validitate, iar nodul nu putea produce blocuri până la o repornire, care reîncarcă mempool-ul într-o stare consistentă.
Cine era afectat și când a fost remediat
Remedierea a venit prin PR #33504, deschis de Greg Sanders, care condiționează verificările TRUC de bypass_limits. Bug-ul a fost descoperit și raportat responsabil de Niklas Goegge.
Data | Eveniment |
|---|---|
26 sept. 2025 | Niklas Goegge raportează bug-ul pe lista de securitate |
2 oct. 2025 | PR #33504 este integrat în master |
10 oct. 2025 | Bitcoin Core 30.0 lansat cu remedierea |
14 oct. 2025 | Bitcoin Core 29.2 lansat cu remedierea |
17 oct. 2025 | Bitcoin Core 28.3 lansat cu remedierea |
27 oct. 2026 | Ultima versiune vulnerabilă (29.x) iese din suport |
10 nov. 2026 | Dezvăluire publică |
Politica de dezvăluire
Conform politicii de securitate a Bitcoin Core, vulnerabilitățile de severitate medie și ridicată sunt dezvăluite la două săptămâni după ce ultima versiune afectată iese din suport, adică la aproximativ un an de la lansarea versiunii majore care conține remedierea.
Un pre-anunț este publicat cu două săptămâni înainte, odată cu lansarea unei noi versiuni majore, și conține numărul de vulnerabilități remediate și nivelurile lor de severitate. Dacă rulezi încă una dintre versiunile 28.0-28.2 sau 29.0-29.1, nodul tău este afectat; cele mai recente versiuni de întreținere, 29.5 și 30.4, au fost publicate pe 28 octombrie 2026.
