GHSA-xwc6-v6g8-pw2hMediumCVSS 5.9
ImageMagick's Security Policy Bypass through config/policy-secure.xml via "fd handler" leads to stdin/stdout access
🔗 CVE IDs covered (1)
📋 Description
The shipped “secure” security policy includes a rule intended to prevent reading/writing from standard streams:
<policy domain="path" rights="none" pattern="-"/>
However, ImageMagick also supports fd: pseudo-filenames (e.g., fd:0, fd:1). This path form is not blocked by the secure policy templates, and therefore bypasses the protection goal of “no stdin/stdout”.
To resolve this, users can add the following change to their security policy.
<policy domain="path" rights="none" pattern="fd:*"/>
And this will also be included in ImageMagick's more secure policies by default.
🎯 Affected products17
- nuget/Magick.NET-Q16-AnyCPU:< 14.10.3
- nuget/Magick.NET-Q16-HDRI-AnyCPU:< 14.10.3
- nuget/Magick.NET-Q16-HDRI-OpenMP-arm64:< 14.10.3
- nuget/Magick.NET-Q16-HDRI-arm64:< 14.10.3
- nuget/Magick.NET-Q16-HDRI-x64:< 14.10.3
- nuget/Magick.NET-Q16-HDRI-x86:< 14.10.3
- nuget/Magick.NET-Q16-OpenMP-arm64:< 14.10.3
- nuget/Magick.NET-Q16-OpenMP-x64:< 14.10.3
- nuget/Magick.NET-Q16-OpenMP-x86:< 14.10.3
- nuget/Magick.NET-Q16-arm64:< 14.10.3
- nuget/Magick.NET-Q16-x64:< 14.10.3
- nuget/Magick.NET-QMagick.NET-Q16-x8616-x64:< 14.10.3
- nuget/Magick.NET-Q8-AnyCPU:< 14.10.3
- nuget/Magick.NET-Q8-OpenMP-arm64:< 14.10.3
- nuget/Magick.NET-Q8-OpenMP-x64:< 14.10.3
- nuget/Magick.NET-Q8-arm64:< 14.10.3
- nuget/Magick.NET-Q8-x86:< 14.10.3
🔗 References (5)
- https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-xwc6-v6g8-pw2h
- https://nvd.nist.gov/vuln/detail/CVE-2026-25966
- https://github.com/ImageMagick/ImageMagick/commit/8d4c67a90ae458fb36393a05c0069e9123ac174c
- https://github.com/dlemstra/Magick.NET/releases/tag/14.10.3
- https://github.com/advisories/GHSA-xwc6-v6g8-pw2h