Description
Lancet through 2.3.9 contains an SSRF protection bypass vulnerability in netutil.IsInternalIP that misclassifies IPv6 private, link-local, CGNAT and transition addresses as external. Attackers can supply hostnames resolving to these address forms, including NAT64, 6to4 or Teredo embedding internal IPv4, to reach internal services or cloud metadata endpoints.
References8
- github.com/duke-git/lancet
- github.com/duke-git/lancet/blob/v1.4.6/netutil/net.go#L158-L170
- github.com/duke-git/lancet/blob/v2.3.9/netutil/net.go#L192-L205
- github.com/duke-git/lancet/commit/835111c832939a85416d686a1e99d…
- github.com/duke-git/lancet/issues/356
- github.com/duke-git/lancet/pull/357
- www.vulncheck.com/advisories/lancet-through-2.3.9-ssrf-protecti…
- github.com/duke-git/lancet/issues/356
Metrics
- CVSS 3.1
-
4.8
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N - CVSS 4.0
-
6.3
MEDIUM
Score source: CNA
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - EPSS — exploit probability
- 0% percentile: 26 · as of 11 November 2026
- CWE
- CWE-918
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.