{"id":"CVE-2026-42590","summary":"Gotenberg: ExifTool group-prefix syntax bypasses dangerous-tag blocklist","details":"Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.30.0, The ExifTool metadata write blocklist in Gotenberg can be bypassed using ExifTool's group-prefix syntax, enabling arbitrary file rename, move, hardlink, and symlink creation on the server. ExifTool supports group-prefix syntax where File:FileName is processed identically to FileName -- the prefix is stripped by SetNewValue in Writer.pl before tag matching. The safeKeyPattern regex (^[a-zA-Z0-9\\-_.:]+$) allows colons, so prefixed tag names pass validation. Any prefix works: File:FileName, System:Directory, a:HardLink, etc. Additionally, FilePermissions, FileUserID, and FileGroupID pseudo-tags are not blocked at all and can modify file attributes without any prefix. This vulnerability is fixed in 8.30.0.","aliases":["GHSA-7v3r-m9c8-r855","GO-2026-5234"],"modified":"2026-07-15T01:48:51.715767069Z","published":"2026-05-14T15:36:30.386Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-184"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42590.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42590.json"},{"type":"ADVISORY","url":"https://github.com/gotenberg/gotenberg/security/advisories/GHSA-7v3r-m9c8-r855"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42590"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/gotenberg/gotenberg","events":[{"introduced":"0"},{"fixed":"a80191a2881184a3529696ebf9cdcd82a0008442"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"8.30.0"}],"source":["AFFECTED_FIELD","CPE_RANGE"],"cpe":"cpe:2.3:a:thecodingmachine:gotenberg:*:*:*:*:*:*:*:*"}}],"versions":["v8.29.1","v8.29.0","v8.28.0","v8.27.0","v8.26.0","v8.25.1","v8.25.0","v8.24.0","v8.23.2","v8.23.1","v8.23.0","v8.22.0","v8.21.1","v8.21.0","v8.20.1","v8.20.0","v8.19.1","v8.19.0","v8.18.0","v8.17.3","v8.17.2","v8.17.1","v8.17.0","v8.16.0","v8.15.3","v8.15.2","v8.15.1","v8.15.0","v8.14.1","v8.14.0","v8.13.0","v8.12.0","v8.11.1","v8.11.0","v8.10.0","v8.9.2","v8.9.1","v8.9.0","v8.8.1","v8.8.0","v8.7.0","v8.6.0","v8.5.1","v8.5.0","v8.4.0","v8.3.0","v8.2.2","v8.2.1","v8.2.0","v8.1.0","v8.0.3","v8.0.2","v8.0.1","v8.0.0","v7.10.1","v7.10.0","v7.9.2","v7.9.1","v7.9.0","v7.8.3","v7.8.2","v7.8.1","v7.8.0","v7.7.2","v7.7.1","v7.7.0","v7.6.2","v7.6.1","v7.6.0","v7.5.4","v7.5.3","v7.5.2","v7.5.1","v7.5.0","v7.4.3","v7.4.2","v7.4.1","v7.4.0","v7.3.1","v7.3.0","v7.2.0","v7.1.1","v7.1.0","v7.0.7","v7.0.6","v7.0.5","v7.0.4","v7.0.3","v7.0.2","v7.0.1","v7.0.0","6.4.4","6.4.3","6.4.2","6.4.1","6.4.0","6.3.1","6.3.0","6.2.1","6.2.0","6.1.2","6.1.1","6.1.0","6.0.4","6.0.3","6.0.2","6.0.1","6.0.0","5.1.0","5.0.2","5.0.1","5.0.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.2.0","3.1.2","3.1.1","3.1.0","3.0.2","3.0.1","3.0.0","2.0.0","1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42590.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L"}]}