GHSA-xwc6-v6g8-pw2hMediumCVSS 5.9

ImageMagick's Security Policy Bypass through config/policy-secure.xml via "fd handler" leads to stdin/stdout access

Published
February 24, 2026
Last Modified
February 24, 2026

🔗 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)