-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
Bettercap crashes with a "slice bounds out of range" error when processing DNS packets using the ZeroGod module. This suggests improper packet length validation before passing data to gopacket/layers.
Reproduce:
net.probe on
events.stream off
arp.spoof on
10.10.0.0/16 > 10.10.12.122 » panic: runtime error: slice bounds out of range [:173] with capacity 170
goroutine 182 [running]:
github.com/google/gopacket/layers.(*DNSResourceRecord).decode(0xc001918c18, {0xc000f8830e, 0xaa, 0xaa}, 0x1533540?, {0x4?, 0xc0007b59c8?}, 0xc0007b5c90)
/path/to/bettercap/vendor/github.com/google/gopacket/layers/dns.go:715 +0x26d
github.com/google/gopacket/layers.(*DNS).DecodeFromBytes(0xc0007b5be8, {0xc000f8830e, 0xaa, 0xaa}, {0x377e1a0, 0x46d0320})
/path/to/bettercap/vendor/github.com/google/gopacket/layers/dns.go:372 +0x965
github.com/bettercap/bettercap/v2/modules/zerogod.(*ZeroGod).onPacket(0xc000148580, {0x3791e98, 0xc002075080})
/path/to/bettercap/modules/zerogod/zerogod_discovery.go:232 +0x349
github.com/bettercap/bettercap/v2/modules/zerogod.(*ZeroGod).startDiscovery.func1()
/path/to/bettercap/modules/zerogod/zerogod_discovery.go:315 +0xb3
created by github.com/bettercap/bettercap/v2/modules/zerogod.(*ZeroGod).startDiscovery in goroutine 156
/path/to/bettercap/modules/zerogod/zerogod_discovery.go:308 +0x2e5
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels