<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>@Libp2p/Peer-Store (&gt;= 8.0.0, &lt; 12.0.24) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/@libp2p/peer-store--8.0.0--12.0.24/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 17 Sep 2026 19:10:38 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/@libp2p/peer-store--8.0.0--12.0.24/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Certified Address Hijacking in libp2p PeerStore</title><link>https://feed.craftedsignal.io/briefs/2026-09-libp2p-peer-store-hijack/</link><pubDate>Thu, 17 Sep 2026 19:10:38 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-libp2p-peer-store-hijack/</guid><description>The @libp2p/peer-store package incorrectly validates PeerRecord envelopes, allowing attackers to inject fraudulent, certified addresses into the records of victim peers.</description><content:encoded><![CDATA[<p>The <code>@libp2p/peer-store</code> package contains a critical logic error in the <code>consumePeerRecord</code> function, identified as CVE-2026-86039. The vulnerability arises because the package verifies the cryptographic signature of the <code>PeerRecord</code> envelope but fails to verify that the signer of that envelope matches the <code>PeerId</code> embedded within the payload.</p>
<p>An attacker can generate a signed <code>PeerRecord</code> using their own private key but specify the <code>PeerId</code> of a victim in the payload. When processed by a vulnerable node, the library treats the payload as authentic because the envelope signature is technically valid (signed by the attacker). Consequently, the node stores attacker-controlled multiaddrs as 'certified' addresses for the victim peer. Since libp2p connection logic prioritizes certified addresses during dialing, this vulnerability allows for address-book poisoning, dial redirection, and reachability disruption. This affects <code>@libp2p/peer-store</code> versions 8.0.0 through 12.0.23.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker generates a legitimate libp2p cryptographic key pair.</li>
<li>Attacker crafts a <code>PeerRecord</code> object containing the victim's <code>PeerId</code> and the attacker's own malicious multiaddrs.</li>
<li>Attacker signs this <code>PeerRecord</code> using their own private key, creating a valid <code>RecordEnvelope</code>.</li>
<li>Attacker transmits the forged envelope to a target node, typically through peer discovery protocols like GossipSub Peer Exchange (PX).</li>
<li>The target node's <code>consumePeerRecord</code> function extracts the <code>PeerId</code> from the envelope signature and validates the signature successfully.</li>
<li>The target node fails to compare the signer's identity against the <code>PeerRecord.peerId</code> field in the payload.</li>
<li>The target node's <code>peerStore.patch</code> method commits the forged addresses to its local datastore, marking them as <code>isCertified: true</code> under the victim's identity.</li>
<li>Future connection attempts by the target node to the victim peer are redirected to the attacker's infrastructure or result in connection failure.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in the poisoning of the target's peer-store cache. Because certified addresses are highly prioritized by libp2p connection logic, legitimate traffic intended for the victim peer is redirected to attacker-controlled endpoints. This can disrupt network connectivity, prevent legitimate peer communication, and facilitate further reconnaissance or man-in-the-middle attacks on the application layer. Thousands of decentralized applications and infrastructure nodes relying on libp2p for peer-to-peer networking are potentially affected.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized, concrete actions for engineering and security teams:</p>
<ul>
<li>Upgrade <code>@libp2p/peer-store</code> to version 12.0.24 or later to implement the required PeerId/signer identity invariant.</li>
<li>Audit existing PeerStore datastores for unexpected or unauthorized certified addresses associated with high-value peer IDs if the node has been exposed to untrusted peer records.</li>
<li>Implement strict peer-to-peer connection validation logic to ensure that connection upgrades and identity handshakes are not solely reliant on certified peer records stored in the local cache.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>supply-chain</category><category>peer-to-peer</category><category>networking</category><category>cve-2026-86039</category></item></channel></rss>