从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞编号和CVE编号: - SECURITY-3430 - CVE-2024-43044 2. 漏洞描述: - Jenkins使用了Remoting库(通常为agent.jar或remoting.jar)进行控制器和代理之间的通信。该库允许代理加载来自控制器的类和类加载器资源。 - Remoting还允许Jenkins插件通过Channel#preloadJar API传输整个jar文件到代理。在Jenkins 2.470和更早的版本中,LTS 2.452.3和更早的版本中,此功能被用于以下插件:bouncycastle API、Groovy、Ivy、TeamConcert。 - 在Remoting 3256.v88a_f6e922152和更早的版本中,除了3206.3208.v409508a_675ff和3248.3250.v3277a_8e88c9b_,在Jenkins 2.470和更早的版本中,LTS 2.452.3和更早的版本中,调用Channel#preloadJar会导致从控制器检索文件到代理使用ClassLoaderProxy#fetchJar。此外,控制器中ClassLoaderProxy#fetchJar的实现不阻止代理请求从控制器文件系统读取的路径。 3. 漏洞影响: - 这个漏洞允许代理进程、在代理上运行的代码以及具有Agent/Connect权限的攻击者读取Jenkins控制器文件系统中的任意文件。 4. 修复措施: - 在Jenkins 2.471、LTS 2.452.4、LTS 2.462.1中,Remoting库现在通过Channel#preloadJar发送jar文件内容,仅在代理中使用ClassLoaderProxy#fetchJar,因此代理不再需要从控制器请求jar文件内容。 - 管理员可以通过设置Java系统属性hudson.remoting.Channel.DISABLE_JAR_URL_VALIDATOR来禁用此保护,但仅在代码在代理上运行时(包括从SCM获取的构建脚本和测试代码)才建议这样做。 5. 受影响的版本: - Jenkins weekly版本2.470及更早版本,LTS版本2.452.3及更早版本。 6. 信用: - 该漏洞的发现者包括Daniel Beck(CloudBees, Inc.)和jiangchenwei(Nebulalab)和yangyue(Nebulalab)。 这些信息详细描述了漏洞的性质、影响范围以及修复措施,对于理解漏洞的严重性和如何解决它非常重要。