CVE-2026-42593Gotenberg是一个基于Docker的无状态PDF API。在8.32.0版本之前,系统存在安全缺陷,允许未认证攻击者利用特定API端点读取容器内的任意PDF文件。漏洞源于`stampSource`和`watermarkSource`参数处理逻辑不当,攻击者无需上传文件即可指定服务器路径,导致`pdfcpu`组件读取并返回受保护的文件内容。
该漏洞的核心逻辑缺陷位于Gotenberg处理PDF合并与转换的特定API端点中,涉及`pdfengines/merge`、`pdfengines/split`、`libreoffice/convert`及多个`chromium/convert`路由。在这些路由中,当使用`stampSource=pdf`或`watermarkSource=pdf`参数时,系统本应要求上传文件作为源。然而,代码逻辑存在疏漏:如果未上传文件,系统不会清空用户通过`stampExpression`或`watermarkExpression`指定的路径参数,而是将其直接传递给底层的`pdfcpu`库。`pdfcpu`随后会在容器文件系统上打开该路径,将读取到的PDF页面合成到输出结果中。由于无需用户交互和身份验证,攻击者可利用此机制遍历容器文件系统,读取Gotenberg进程有权限访问的任意PDF文件,导致严重的信息泄露风险。