The vulnerability lies in Deno's Node.js compatibility layer, specifically in how it handled network permissions for TCP connections. The --deny-net flag was being checked against the hostname string provided by the user, but not against the final, resolved IP address. This created a loophole where an attacker could use numeric aliases of an IP address (e.g., the decimal or hexadecimal representation of 127.0.0.1) to connect to a destination that was explicitly denied.\n\nThe analysis of the patch between the vulnerable version (2.7.14) and the patched version (2.8.0) pointed to a single commit e40b1b1dc646dcf9f4f7e0fc89e8211751252540. This commit modifies ext/node/ops/tcp_wrap.rs, which contains the native Rust implementation for the node:net module.\n\nThe patch introduces a call to check_net_resolved() within the TCPWrap::connect and TCPWrap::connect6 functions. This new check is performed after the hostname has been resolved to an IP address, ensuring that the deny-list rules are applied to the actual destination IP. The vulnerable functions are therefore TCPWrap::connect and TCPWrap::connect6 because they were the ones lacking this crucial post-resolution check, allowing the bypass. During exploitation, a call to node:net.connect or node:http.request with a numeric hostname alias would trigger these functions, and they would appear in a runtime profile.