Gemiddeld · 5.3 Node.js & npm GHSA-vrf4-mx87-p53w CVE-2026-86039 GHSA-c3gv-825q-fvmp CVE-2026-86038
Twee spoofing-kwetsbaarheden in libp2p maken vervalsen van peer-records en gossipsub-berichten mogelijk
Twee authenticatie-bypass-kwetsbaarheden in de JavaScript-implementatie van libp2p maken het mogelijk om identiteitsgegevens van peers te vervalsen: de ene laat aanvallers vergiftigde adressen voor een slachtoffer-peer plaatsen in @libp2p/peer-store, de andere laat aanvallers zich voordoen als een slachtoffer met een RSA-peer-ID in @libp2p/gossipsub-berichten. Voor beide problemen zijn gefixte pakketversies beschikbaar.
AI-samenvatting
Er zijn twee gerelateerde kwetsbaarheden gemeld in libp2p, de JavaScript-implementatie van de libp2p peer-to-peer netwerkstack. Beide problemen draaien om onvoldoende verificatie van ondertekende gegevens, waardoor een aanvaller het netwerk kan laten geloven dat aanvaller-gecontroleerde inhoud afkomstig is van een slachtoffer-peer. Het ene probleem zit in hoe het pakket @libp2p/peer-store ondertekende peer-records verwerkt; het andere in hoe @libp2p/gossipsub berichthandtekeningen valideert. Voor beide zijn gefixte versies beschikbaar.
Wat is er gebeurd
Er zijn twee afzonderlijke authenticatie-bypassproblemen gevonden in libp2p-pakketten. In @libp2p/peer-store (CVE-2026-86039, GHSA-vrf4-mx87-p53w) verifieert de consumePeerRecord-logica wel de handtekening op een RecordEnvelope, maar controleert niet of het peerId-veld in de PeerRecord overeenkomt met de peer-ID van de ondertekenaar. In combinatie met de manier waarop het gossipsub Peer Exchange-pad de waarde 'expectedPeer' aanlevert, kan een aanvaller een record ondertekenen met zijn eigen sleutel, terwijl in de payload de peer-ID van een slachtoffer en door de aanvaller gecontroleerde multiaddresses staan. Hierdoor slaat PeerStore deze adressen op als gecertificeerd voor het slachtoffer. In @libp2p/gossipsub (CVE-2026-86038, GHSA-c3gv-825q-fvmp) verifieert het standaardbeleid StrictSign voor berichtvalidatie wel een handtekening tegen een door de aanvaller aangeleverde publieke sleutel, maar koppelt deze sleutel niet aan de opgegeven 'from'-peer-ID wanneer die ID een RSA-peer-ID is zonder ingesloten publieke sleutel. Hierdoor kan een aanvaller een bericht ondertekenen met zijn eigen sleutel terwijl hij de RSA-peer-ID van een slachtoffer als auteur opgeeft, waardoor het bericht wordt geaccepteerd en verspreid alsof het van het slachtoffer afkomstig is.
Technische oorzaak
Beide problemen komen voort uit een onvolledige koppeling tussen de cryptografische ondertekenaar en de identiteit die in de ondertekende payload wordt opgegeven (CWE-290, Authentication Bypass by Spoofing, voor het peer-store-probleem; CWE-345, Insufficient Verification of Data Authenticity, voor het gossipsub-probleem). Bij peer-store controleert de code in packages/peer-store/src/index.ts alleen of de ondertekenaar van de envelope overeenkomt met de optie 'expectedPeer', maar niet of het peerId-veld in de payload zelf overeenkomt met de ondertekenaar. Bij gossipsub valideert de code in packages/gossipsub/src/utils/buildRawMessage.ts de handtekening tegen de aangeleverde sleutel, maar verifieert niet of die sleutel daadwerkelijk hoort bij de RSA-peer-ID die in het 'from'-veld van het bericht wordt genoemd, wanneer er geen publieke sleutel in die ID is ingesloten.
Waarom dit belangrijk is
Het peer-store-lek kan leiden tot corruptie van het adresboek, verkeerd gerouteerde of mislukte verbindingspogingen, manipulatie van routering en verstoring van bereikbaarheid van een slachtoffer-peer, omdat andere nodes door een aanvaller gecontroleerde adressen kunnen opslaan en gebruiken in de veronderstelling dat deze gecertificeerd zijn voor het slachtoffer. Het upgradeproces van libp2p-verbindingen verifieert echter nog altijd onafhankelijk de identiteit van de externe peer, waardoor dit probleem op zichzelf geen volledige identiteitsovername mogelijk maakt. Het gossipsub-lek maakt valse herkomsttoekenning mogelijk: toepassingen die vertrouwen op het 'from'-veld van een bericht voor validators, autorisatie, boekhouding, moderatie, reputatie of auditlogging kunnen door een aanvaller gecontroleerde gegevens verwerken alsof deze afkomstig zijn van een vertrouwde slachtoffer-peer.
Wie wordt getroffen
Elke toepassing die @libp2p/peer-store gebruikt in een versie vanaf 8.0.0 tot (maar niet met) 12.0.24 wordt getroffen door CVE-2026-86039. Elke toepassing die @libp2p/gossipsub gebruikt in een versie vanaf 15.0.0 tot (maar niet met) 16.0.5 wordt getroffen door CVE-2026-86038. Beide pakketten maken deel uit van het npm-ecosysteem dat wordt gebruikt in JavaScript/Node.js-implementaties van libp2p.
Getroffen versies
@libp2p/peer-store: versies >= 8.0.0 en < 12.0.24 zijn getroffen; verholpen in 12.0.24. @libp2p/gossipsub: versies >= 15.0.0 en < 16.0.5 zijn getroffen; verholpen in 16.0.5.
Fixes en mitigatie
Beide problemen zijn verholpen in bijgewerkte pakketversies. @libp2p/peer-store is gefixt in versie 12.0.24. @libp2p/gossipsub is gefixt in versie 16.0.5. In de beschikbare advisories worden geen tijdelijke workarounds genoemd buiten het upgraden.
Aanbevolen actie
Werk @libp2p/peer-store bij naar versie 12.0.24 of hoger, en werk @libp2p/gossipsub bij naar versie 16.0.5 of hoger. Toepassingen die vertrouwens-, autorisatie-, moderatie- of loggingbeslissingen baseren op de herkomst van gossipsub-berichten ('from') of op opgeslagen peer-adressen, doen er goed aan te beoordelen of die beslissingen beïnvloed konden worden door vervalste gegevens, voordat de updates worden toegepast.
PatchBriefing-score
5.3 / 10 · Gemiddeld
Officiële CVSS: 8.2
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Waarom deze score
CVE-2026-86039 heeft een CVSS-basisscore van 8.2, veroorzaakt door netwerk-gebaseerde exploitatie met lage complexiteit, zonder dat privileges of gebruikersinteractie nodig zijn, met een hoge impact op integriteit en een lage impact op beschikbaarheid. CVE-2026-86038 heeft een CVSS-basisscore van 7.5, eveneens netwerk-gebaseerd en met lage complexiteit, zonder privileges of interactie, met een hoge impact op integriteit maar geen impact op vertrouwelijkheid of beschikbaarheid. De Patchwire-scores van respectievelijk 5.3 en 4.9 weerspiegelen deze CVSS-basiswaarden in combinatie met het feit dat beide problemen ongeautoriseerd en op afstand uitbuitbaar zijn zonder gebruikersinteractie, maar zonder aanwijzingen voor bekende exploitatie, publiek beschikbare exploitcode of EPSS-gedreven urgentie, en er voor beide al fixes beschikbaar zijn.
Getroffen versies
- @libp2p/peer-store >= 8.0.0, < 12.0.24
- kwetsbaar
- ≥ 12.0.24
- gepatcht
- @libp2p/gossipsub >= 15.0.0, < 16.0.5
- kwetsbaar
- ≥ 16.0.5
- gepatcht
Gemelde oplossingen
Beide problemen zijn verholpen in bijgewerkte pakketversies. @libp2p/peer-store is gefixt in versie 12.0.24. @libp2p/gossipsub is gefixt in versie 16.0.5. In de beschikbare advisories worden geen tijdelijke workarounds genoemd buiten het upgraden.
Hoe dit rapport is gemaakt
4 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail