From 1e2bb45309d0cabaf2cc8be599a717b2003268f1 Mon Sep 17 00:00:00 2001 From: maharudragadhave-Druva Date: Wed, 18 Jun 2025 20:00:07 +0530 Subject: [PATCH] Fix: [Issue-101] Panic: runtime error: slice bounds out of range in PacketCodec.SessionId() and SetSessionId() when receiving truncated SMB2 packets --- internal/smb2/packet.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/smb2/packet.go b/internal/smb2/packet.go index 93774d8..8ab67bc 100644 --- a/internal/smb2/packet.go +++ b/internal/smb2/packet.go @@ -189,10 +189,16 @@ func (p PacketCodec) SetTreeId(u uint32) { } func (p PacketCodec) SessionId() uint64 { + if len(p) < 48 { + return 0 + } return le.Uint64(p[40:48]) } func (p PacketCodec) SetSessionId(u uint64) { + if len(p) < 48 { + return + } le.PutUint64(p[40:48], u) }