CVE-2026-103936: libp2p: Single pre-auth STUN packet terminates `@libp2p/webrtc` WebRTC-direct Node.js listeners

Published Oct 15, 2026
·
Updated

libp2p is a JavaScript implementation of the libp2p networking stack. Prior to 6.0.28, the @libp2p/webrtc webRTCDirect() Node.js listener processes unauthenticated STUN Binding Requests before PeerId authentication, Noise, muxing, protocol negotiation, connection creation, or connection-manager admission. The listener in packages/transport-webrtc/src/private-to-public/utils/stun-listener.ts forwards the packet-controlled request.ufrag into DirectRTCPeerConnection.setLocalDescription, where the value is reused as an ICE password without validating its required length and character set. A short credential causes node-datachannel or libdatachannel to raise an uncaught native invalidargument and abort the process with SIGABRT, allowing a single remote UDP packet to deny service. The confirmed impact is process termination only, with no demonstrated memory corruption, code execution, browser impact, confidentiality impact, integrity impact, or connection-limit bypass. This issue is fixed in version 6.0.28.

Affected Software

1 affected component
npm/@libp2p/webrtc<6.0.28

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @libp2p/webrtc to a version that resolves this vulnerability.

    Fixed in 6.0.28

Event History

Oct 15, 2026
CVE Published
via MITRE·05:28 PM
Data Sourced
via MITRE·05:28 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this denial of service?

Node.js deployments using the @libp2p/webrtc webRTCDirect() listener are affected before version 6.0.28. Browser impact has not been demonstrated.

2

Does an attacker need to authenticate or establish a libp2p connection first?

No. A remote attacker can trigger the issue with a single unauthenticated UDP STUN Binding Request, before PeerId authentication, Noise, muxing, protocol negotiation, connection creation, or connection-manager admission.

3

What is the practical impact of successful exploitation?

The Node.js process aborts with SIGABRT, causing a denial of service. The confirmed impact is limited to process termination; memory corruption, code execution, confidentiality or integrity impact, and connection-limit bypass have not been demonstrated.

4

What version fixes the issue?

Upgrade @libp2p/webrtc to version 6.0.28 or later.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203