~ / search / GHSA-8jvj-p28h-9gm7

GHSA-8jvj-p28h-9gm7

ImageMagick: Policy bypass through path traversal allows reading restricted content despite secured policy

Source: GitHub Advisory Database (reviewed) High CVE-2026-25965

Packages

EcosystemPackageAffectedFixed in
NuGet Magick.NET-Q16-AnyCPU < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-AnyCPU < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-OpenMP-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-OpenMP-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-HDRI-x86 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-OpenMP-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-OpenMP-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-OpenMP-x86 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q16-x86 < 14.10.3 14.10.3
NuGet Magick.NET-Q8-AnyCPU < 14.10.3 14.10.3
NuGet Magick.NET-Q8-OpenMP-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q8-OpenMP-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q8-arm64 < 14.10.3 14.10.3
NuGet Magick.NET-Q8-x64 < 14.10.3 14.10.3
NuGet Magick.NET-Q8-x86 < 14.10.3 14.10.3

Details

As written in the advisory (Markdown source, shown as plain text).

ImageMagick’s path security policy is enforced on the raw filename string before the filesystem resolves it. As a result, a policy rule such as /etc/* can be bypassed by a path traversal. The OS resolves the traversal and opens the sensitive file, but the policy matcher only sees the unnormalized path and therefore allows the read. This enables local file disclosure (LFI) even when policy-secure.xml is applied. Actions to prevent reading from files have been taken. But it make sure writing is also not possible the following should be added to your policy: ``` <policy domain="path" rights="none" pattern="*../*"/> ``` And this will also be included in the project's more secure policies by default.

References

External links from the advisory. They lead to third-party sites.