Miggo Logo

CVE-2025-27093: Silver has unrestricted traffic between Wireguard clients

6.3

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
10/28/2025
Updated
10/28/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/bishopfox/slivergo<= 1.5.43

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability lies in Sliver's custom Wireguard netstack, which, prior to the patch, did not implement any traffic filtering between connected clients. This allowed any client on the Wireguard network to communicate with any other client, creating a security risk where a compromised beacon could be used to attack an operator's machine.

The analysis of the patch commit 8e5c5f14506d6d60ebb3362e6b9857ab1e0d76ff reveals that the fix was implemented in the netstack layer. The function CreateNetTUN in server/netstack/tun.go is responsible for creating the TUN device and the associated network stack. The patch modifies this function to initialize the network stack with iptables rules that enforce a default-deny policy for incoming traffic. New functions like setupIPTables and allowTCPPort were introduced to create and manage these firewall rules, explicitly allowing traffic only when required (e.g., for the netstack's own services). The vulnerable function is therefore CreateNetTUN as it was responsible for setting up the insecure, unfiltered network environment.

Vulnerable functions

CreateNetTUN
server/netstack/tun.go
This function creates the network stack for the Wireguard TUN device. Before the patch, it initialized the stack without any firewall rules, resulting in a default-allow policy for all traffic between clients. This lack of filtering is the root cause of the vulnerability, as it allows any Wireguard client to communicate with any other client on the same network. The patch addresses this by adding iptables-based filtering with a default-deny policy during the netstack's creation.

WAF Protection Rules

WAF Rule

### Summ*ry Sliv*r's *ustom Wir**u*r* n*tst**k *o*sn't limit tr***i* **tw**n Wir**u*r* *li*nts, t*is *oul* l*** to: *. L**k**/r**ov*r** k*yp*ir (*rom * ****on) **in* us** to *tt**k op*r*tors. *. Port *orw*r*in*s us**l* *rom ot**r impl*nts. ### **t*

Reasoning

T** vuln*r**ility li*s in Sliv*r's *ustom Wir**u*r* n*tst**k, w*i**, prior to t** p*t**, *i* not impl*m*nt *ny tr***i* *ilt*rin* **tw**n *onn**t** *li*nts. T*is *llow** *ny *li*nt on t** Wir**u*r* n*twork to *ommuni**t* wit* *ny ot**r *li*nt, *r**tin