The vulnerability is an uncontrolled recursion in the DAG-CBOR and DAG-JSON decoders in go-ipld-prime. A malicious actor can craft a deeply nested payload which causes the decoder to recurse until the stack is exhausted, leading to a denial of service. The patch introduces a MaxDepth option in the decoders to limit the recursion depth. The vulnerable functions are the recursive decoding functions in codec/dagcbor/decode.go and codec/dagjson/decode.go. These functions, named decode, are responsible for parsing the input and recursively calling themselves to handle nested data structures. Before the patch, these functions lacked a depth check, making them vulnerable. The identified functions are the ones that would appear in a stack trace during the exploitation of this vulnerability.