The vulnerability, a remote Denial of Service, is caused by a nil pointer dereference in GoBGP when handling a malformed BGP UPDATE message. The provided vulnerability description and stack trace point directly to the recvMessageloop function in pkg/server/fsm.go. To confirm this and find the exact patch, I first identified the commits between the vulnerable version (v4.3.0) and the patched version (v4.4.0) by comparing their corresponding git tags. Among the commits, 215aee08db47e55f4f8a7741e516951f76a959b4 stood out with the message "fix: prevent nil dereference on BGP UPDATE validation". Analyzing the patch for this commit revealed that the recvMessageloop function incorrectly handled an error from bgp.ValidateUpdateMsg due to a shadowed err variable. The fix involves introducing a new variable, validationErr, to correctly capture and handle the error, thus preventing the nil pointer dereference when logging the error message. The vulnerable function is therefore fsmHandler.recvMessageloop.