AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 25 Bitcoin

Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54

Public commit record

What the developer wrote

Authored by Ryan Ofsky

91/100 · Strong
Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54

1b8d4a6f1e54 Merge bitcoin-core/libmultiprocess#194: mpgen: Work around c++20 / capnproto 0.8 incompatibility
f1fad396bf5f Merge bitcoin-core/libmultiprocess#195: ci: Add openbsd
eed42f210d17 ci: Bump all tasks to actions/checkout@v5
486a510bbeff ci: Remove ancient and problematic -lstdc++fs in mpexample
dd40897efe79 Add missing thread include
98414e7d2867 ci: Add openbsd
dc3ba2204606 cmake, doc: Add check for CVE-2022-46149
cb170d4913a2 Merge bitcoin-core/libmultiprocess#193: build: require CapnProto 0.7.0 or better
8ceeaa6ae401 ci: Add olddeps job to test old dependencies versions
c4cb758eccb5 mpgen: Work around c++20 / capnproto 0.8 incompatibility
30930dff7b06 build: require CapnProto 0.7.0 or better

git-subtree-dir: src/ipc/libmultiprocess
git-subtree-split: 1b8d4a6f1e54b92708bd2ad627ec6d440a1daf3d
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit updates the libmultiprocess subtree used by Bitcoin Core. The most notable change is a build-time guard that refuses to compile against specific old versions of the Cap'n Proto library because those versions contain a known memory-access vulnerability (CVE-2022-46149). The commit also adds CI testing for older Cap'n Proto versions and OpenBSD, fixes a C++20/Cap'n Proto 0.8 compatibility issue in the code generator, removes an obsolete linker flag, and adds a missing include. It is primarily a hardening and compatibility update, not a fix for a new vulnerability in Bitcoin Core itself.

Recommended action

No immediate action is required for Bitcoin Core users; the change is defensive. Builders and packagers should ensure Cap'n Proto is not one of the blocked vulnerable versions (0.7.0, 0.8.0, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.10.2). Downstream maintainers may want to verify their Cap'n Proto package version and consider the new minimum version requirement (0.7).

Security signals we found

01

Build-time rejection of dependency versions known to be vulnerable to CVE-2022-46149

02

New CI job (olddeps) to ensure compatibility with patched older Cap'n Proto releases

03

C++20 compatibility fixes that prevent ambiguous operator== comparisons involving kj::StringPtr and string literals

04

Addition of missing <thread> header include

Risk score

Why this scored 25/100

Our methodology →
Potential impact 5/30
Exploitability 3/25
Stealth signal 2/15
Affected reach 4/15
Confidence 7/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.