The vulnerability is a denial of service in the Jenkins HTTP-based CLI, caused by two distinct but related issues. First, in hudson.cli.PlainCLIProtocol.run, network connections were not being closed properly in all error conditions, leading to a resource leak (CWE-404). The fix was to move the connection closing logic into a finally block to guarantee its execution. Second, in hudson.cli.CLIAction$HttpCliEndpoint.run and jenkins.util.FullDuplexHttpService.upload, the code used unbounded wait() calls while waiting for client activity. This allowed a malicious client to initiate a connection and then do nothing, causing the server threads to hang indefinitely. This would eventually exhaust the server's thread pool, making it unable to service legitimate requests. The patch mitigates this by replacing the indefinite waits with timed waits. An attacker could exploit this by creating multiple connections that trigger these hanging threads or error conditions, consuming server resources until it becomes unresponsive.