CVE-2026-42590Gotenberg是一个基于Docker的无状态PDF生成API。在8.30.0版本之前,该组件存在ExifTool元数据写入过滤绕过漏洞。由于ExifTool支持组前缀语法(如File:FileName),且Gotenberg的验证正则允许冒号,攻击者可通过构造特殊的标签前缀绕过黑名单限制。这使得攻击者能够在服务器上执行任意文件重命名、移动、硬链接和符号链接创建操作,甚至修改文件权限和所有者。该漏洞可能导致服务器敏感文件被覆盖或替换,造成严重的安全风险。官方已在8.30.0版本中修复了此问题。
该漏洞的根源在于Gotenberg对ExifTool元数据的验证机制存在缺陷。Gotenberg使用正则表达式safeKeyPattern(^[a-zA-Z0-9\-_.:]+$)来过滤危险的标签名,旨在防止文件系统操作。然而,ExifTool在处理标签时会剥离组前缀(例如将File:FileName视为FileName)。由于验证正则允许冒号(:)存在,攻击者可以利用这一逻辑差异,在标签名前添加任意前缀(如File:、System:等)来通过验证。一旦绕过检查,ExifTool将执行底层操作,如File:FileName重命名文件、System:Directory移动文件,或a:HardLink创建硬链接。此外,FilePermissions、FileUserID和FileGroupID等伪标签完全未被列入黑名单,攻击者可直接利用它们修改文件属性,从而实现对服务器文件系统的完整性和可用性攻击。