CVE-2026-86038: CWE-345: Insufficient Verification of Data Authenticity in libp2p js-libp2p
libp2p is a JavaScript implementation of the libp2p networking stack. From 15.0.0 until 16.0.5, @libp2p/gossipsub uses the default StrictSign policy in packages/gossipsub/src/utils/buildRawMessage.ts, where validateToRawMessage verifies a signature with attacker-controlled msg.key but skips binding that key to msg.from when the claimed author is an RSA peer ID that does not inline a public key. An unauthenticated attacker can place a victim RSA peer ID in msg.from, sign the message with the attacker's private key, and supply the attacker's public key in msg.key, causing the message to be accepted and propagated as authored by the victim. Applications that trust message.from for validators, authorization, accounting, moderation, reputation, or audit logging can process attacker-controlled data under false origin attribution. The issue is fixed in version 16.0.5.
AI Analysis
Technical Summary
In js-libp2p's @libp2p/gossipsub module (versions >=15.0.0 <16.0.5), the default StrictSign policy in buildRawMessage.ts uses validateToRawMessage to verify message signatures. However, when the claimed author is an RSA peer ID lacking an inline public key, the verification process accepts a signature verified with an attacker-controlled key without binding that key to the claimed author. This allows an unauthenticated attacker to place a victim's RSA peer ID in the message's 'from' field, sign the message with the attacker's private key, and supply the attacker's public key as msg.key. Consequently, the message is accepted and propagated as if authored by the victim. Applications trusting message.from for critical functions like validation, authorization, or audit logging may process attacker-controlled data under false origin attribution. The issue is resolved in version 16.0.5.
Potential Impact
An attacker can impersonate a victim peer ID by crafting messages that appear to originate from the victim, potentially causing applications relying on message origin for validation, authorization, accounting, moderation, reputation, or audit logging to process malicious data under false attribution. This can lead to unauthorized actions or incorrect trust decisions within affected applications. There is no indication of confidentiality or availability impact. No known exploits are reported in the wild.
Mitigation Recommendations
Upgrade js-libp2p to version 16.0.5 or later, where this vulnerability is fixed. Until then, applications should be aware that messages from RSA peer IDs without inline public keys may be spoofed. No other vendor advisories or temporary mitigations are provided. Patch status is confirmed fixed in 16.0.5.
CVE-2026-86038: CWE-345: Insufficient Verification of Data Authenticity in libp2p js-libp2p
Description
libp2p is a JavaScript implementation of the libp2p networking stack. From 15.0.0 until 16.0.5, @libp2p/gossipsub uses the default StrictSign policy in packages/gossipsub/src/utils/buildRawMessage.ts, where validateToRawMessage verifies a signature with attacker-controlled msg.key but skips binding that key to msg.from when the claimed author is an RSA peer ID that does not inline a public key. An unauthenticated attacker can place a victim RSA peer ID in msg.from, sign the message with the attacker's private key, and supply the attacker's public key in msg.key, causing the message to be accepted and propagated as authored by the victim. Applications that trust message.from for validators, authorization, accounting, moderation, reputation, or audit logging can process attacker-controlled data under false origin attribution. The issue is fixed in version 16.0.5.
CVSS v3.1
Score 7.5high
Affected software
libp2p
js-libp2p
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In js-libp2p's @libp2p/gossipsub module (versions >=15.0.0 <16.0.5), the default StrictSign policy in buildRawMessage.ts uses validateToRawMessage to verify message signatures. However, when the claimed author is an RSA peer ID lacking an inline public key, the verification process accepts a signature verified with an attacker-controlled key without binding that key to the claimed author. This allows an unauthenticated attacker to place a victim's RSA peer ID in the message's 'from' field, sign the message with the attacker's private key, and supply the attacker's public key as msg.key. Consequently, the message is accepted and propagated as if authored by the victim. Applications trusting message.from for critical functions like validation, authorization, or audit logging may process attacker-controlled data under false origin attribution. The issue is resolved in version 16.0.5.
Potential Impact
An attacker can impersonate a victim peer ID by crafting messages that appear to originate from the victim, potentially causing applications relying on message origin for validation, authorization, accounting, moderation, reputation, or audit logging to process malicious data under false attribution. This can lead to unauthorized actions or incorrect trust decisions within affected applications. There is no indication of confidentiality or availability impact. No known exploits are reported in the wild.
Mitigation Recommendations
Upgrade js-libp2p to version 16.0.5 or later, where this vulnerability is fixed. Until then, applications should be aware that messages from RSA peer IDs without inline public keys may be spoofed. No other vendor advisories or temporary mitigations are provided. Patch status is confirmed fixed in 16.0.5.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-04T19:29:21.057Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6aac080b55bf5e2cf5909abc
Added to database: 09/17/2026, 15:32:27 UTC
Last enriched: 09/17/2026, 15:46:48 UTC
Last updated: 09/18/2026, 06:43:46 UTC
Views: 13
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.