CVE-2026-43893
exiftool-vendored vulnerable to argument injection via newline characters in tag names
Impact
exiftool-vendored provides cross-platform Node.js access to ExifTool. Prior to 35.19.0, exiftool-vendored starts ExifTool in -stay_open True -@ - mode, where arguments are read from stdin one per line. In affected versions, several caller-supplied strings were interpolated into ExifTool arguments without rejecting line delimiters. A newline or carriage return inside one of those strings could split a single intended argument into multiple ExifTool arguments, allowing argument injection. The fix also rejects NUL bytes as unsafe control characters. Applications that pass attacker-controlled strings to affected APIs may allow an attacker to make ExifTool read files accessible to the ExifTool process, or write output to attacker-chosen file system paths accessible to that process. No remote code execution has been demonstrated. This vulnerability is fixed in 35.19.0.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | exiftool-vendored | <= 35.18.0 | 35.19.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-cw26-7653-2rp5
- https://github.com/photostructure/exiftool-vendored.js/security/advisories/GHSA-cw26-7653-2rp5
- https://exiftool.org/TagNames
- https://exiftool.org/exiftool_pod.html#stay_open-FLAG
- https://nvd.nist.gov/vuln/detail/CVE-2026-43893