Skip to content

[30.x] validation: correct lifetime of precomputed tx data#35211

Merged
fanquake merged 1 commit into
bitcoin:30.xfrom
darosior:2605_cleanup_CVE-2024-52911_v30
May 7, 2026
Merged

[30.x] validation: correct lifetime of precomputed tx data#35211
fanquake merged 1 commit into
bitcoin:30.xfrom
darosior:2605_cleanup_CVE-2024-52911_v30

Conversation

@darosior

@darosior darosior commented May 5, 2026

Copy link
Copy Markdown
Member

This backports #35209 to the version 30 branch.

This makes sure `txsdata` always outlives the Script check queue (since local
objects are destructed in reverse order of construction).

This is the root cause for a security vulnerability reported by Cory Fields in
2024 that could be exploited by crafting an invalid block to cause nodes to
read freed memory. The vulnerability was covertly fixed in commit
`492e1f09943fcb6145c21d470299305a19e17d8b`.

See security advisory for CVE-2024-52911 for more details.

Github-Pull: bitcoin#35209
Rebased-From: 1ed799f
@DrahtBot

DrahtBot commented May 5, 2026

Copy link
Copy Markdown
Contributor

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35211.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK achow101

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

@fanquake fanquake added this to the 30.3 milestone May 5, 2026
@fanquake fanquake changed the title 30.x backport: validation: correct lifetime of precomputed tx data [30.x] validation: correct lifetime of precomputed tx data May 5, 2026
@achow101

achow101 commented May 6, 2026

Copy link
Copy Markdown
Member

ACK 17de6d2

@fanquake fanquake closed this May 6, 2026
@fanquake fanquake reopened this May 6, 2026
@fanquake fanquake merged commit 1d97fda into bitcoin:30.x May 7, 2026
39 of 40 checks passed
@fanquake fanquake mentioned this pull request Jun 3, 2026
sedited added a commit that referenced this pull request Jun 23, 2026
d52747d doc: update manual pages for v30.3rc1 (fanquake)
a1406d6 build: bump version to v30.3rc1 (fanquake)
1bdd2b1 doc: update release notes for v30.3rc1 (fanquake)
e7c6d39 fuzz: Remove unused g_setup pointers (MarcoFalke)
b7c7d1e coins: compact chainstate in background (Lőrinc)
992b1dd validation: randomly compact chainstate (Lőrinc)
55ead70 coins: test chainstate flush baseline (Lőrinc)
d09bd0f lint: disable leveldb subtree check (fanquake)

Pull request description:

  Backports:
  * #34918
  * #35465

  Final changes for v`30.3rc1`.

  Backports since `30.2`:
  * #34283
  * #34459
  * #34689
  * #34754
  * #34805
  * #34856
  * #35211
  * #35232

ACKs for top commit:
  sedited:
    ACK d52747d
  marcofleon:
    ACK d52747d

Tree-SHA512: 75fb64f744a0689a9bc4f5a25128bf2aaad7459d7a430f552200b995498428d89de28820f477780f95e7e8485eea9f657ad5fdeae253940df4f29bf51346b4ff
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants