[GH-ISSUE #4959] Default Setup (at least of selfhosted version) of STUN Server is vulnerable against misuse in DDOS attacks #9610

Open
opened 2026-08-05 01:22:48 -04:00 by saavagebueno · 1 comment
Owner

Originally created by @robertpenz on GitHub (Dec 17, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/4959

We're running die current version of the self-hosted version of Netbird and have been informed by the Austrian CERT, that our setup is vulnerable against misuse in DDOS attacks. The base for that is the discovery via Shadow Server: https://www.shadowserver.org/what-we-do/network-reporting/accessible-stun-service-report/

I checked it with

{  echo -ne '\x00\x01\x00\x00\x21\x12\xa4\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ; cat ; }|nc -u xxx.xxx.xxx.xxx 3478 -w1 | xxd
00000000: 0101 0014 2112 a442 0000 0000 0000 0000  ....!..B........
00000010: 0000 0000 0020 0008 0001 cbe5 e320 c99c  ..... ....... ..
00000020: 8028 0004 1342 0917                      .(...B..

Which is an amplification by 3.

Common mitigation methods don't work as we can't remove UDP support as Netbird seems to require it and firewalling on source IPs is also not really an option for a ZTNA system. Moving to TCP is always sugested but not sure if that works with WireGuard, or is WireGuard using the TURN server?

Currently, I don't have an idea how to mitigate that vulnerability on my side - I need that added to Netbird, also rate-limiting on the firewall just makes no sense for VPN traffic.

ps: Currenty if I look into the turnserver.conf config the secure-stun is not active - can I enable that?

# Require authentication of the STUN Binding request.
# By default, the clients are allowed anonymous access to the STUN Binding functionality.
#
#secure-stun
Originally created by @robertpenz on GitHub (Dec 17, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/4959 We're running die current version of the self-hosted version of Netbird and have been informed by the Austrian CERT, that our setup is vulnerable against misuse in DDOS attacks. The base for that is the discovery via Shadow Server: https://www.shadowserver.org/what-we-do/network-reporting/accessible-stun-service-report/ I checked it with ``` { echo -ne '\x00\x01\x00\x00\x21\x12\xa4\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ; cat ; }|nc -u xxx.xxx.xxx.xxx 3478 -w1 | xxd 00000000: 0101 0014 2112 a442 0000 0000 0000 0000 ....!..B........ 00000010: 0000 0000 0020 0008 0001 cbe5 e320 c99c ..... ....... .. 00000020: 8028 0004 1342 0917 .(...B.. ``` Which is an amplification by 3. Common mitigation methods don't work as we can't remove UDP support as Netbird seems to require it and firewalling on source IPs is also not really an option for a ZTNA system. Moving to TCP is always sugested but not sure if that works with WireGuard, or is WireGuard using the TURN server? Currently, I don't have an idea how to mitigate that vulnerability on my side - I need that added to Netbird, also rate-limiting on the firewall just makes no sense for VPN traffic. ps: Currenty if I look into the turnserver.conf config the secure-stun is not active - can I enable that? ``` # Require authentication of the STUN Binding request. # By default, the clients are allowed anonymous access to the STUN Binding functionality. # #secure-stun ```
saavagebueno added the triage-needed label 2026-08-05 01:22:48 -04:00
Author
Owner

@northway commented on GitHub (Mar 26, 2026):

+1

I got the same a notification from T Cloud Public!

<!-- gh-comment-id:4132416831 --> @northway commented on GitHub (Mar 26, 2026): +1 I got the same a notification from T Cloud Public!
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#9610