CVE-2025-64139: Jenkins Start Windocks Containers Plugin is missing a permission check
4.3
Basic Information
Technical Details
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.jenkins-ci.plugins:windocks-start-container | maven | <= 1.4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability lies in an unsecured HTTP endpoint within the Jenkins Start Windocks Containers Plugin. The analysis of the plugin's source code, specifically the WinDocksBuilder.java file, revealed that the doFillImageItems method in the nested DescriptorImpl class is exposed without any permission checks. This method is intended to populate a UI dropdown with Docker image names from a given Windocks server IP.
The doFillImageItems method takes an ipaddress as a query parameter and passes it to the GetImages method. The GetImages method then constructs a URL with the provided ipaddress and makes an HTTP GET request to fetch image data. Because there is no validation on the ipaddress parameter, an attacker with only Overall/Read permissions can craft a request to this endpoint, forcing the Jenkins server to make a request to any URL or IP address on their behalf. This constitutes a Server-Side Request Forgery (SSRF) vulnerability. The advisory also correctly points out that the endpoint is vulnerable to Cross-Site Request Forgery (CSRF) because it responds to GET requests, which can be triggered from a malicious website visited by a logged-in Jenkins user.
Vulnerable functions
windockspkg.windocksplug.WinDocksBuilder$DescriptorImpl.doFillImageItemssrc/main/java/windockspkg/windocksplug/WinDocksBuilder.java
windockspkg.windocksplug.WinDocksBuilder$DescriptorImpl.GetImagessrc/main/java/windockspkg/windocksplug/WinDocksBuilder.java