ImageMagick's policy bypass through path traversal allows reading restricted content despite secured policy
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 7.1.2-15, 6.9.13-40, 14.10.3
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
ImageMagick is free and open-source software used for editing and manipulating digital images. Prior to versions 7.1.2-15 and 6.9.13-40, 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 in versions .7.1.2-15 and 6.9.13-40 But it make sure writing is also not possible the following should be added to one's policy. This will also be included in ImageMagick's more secure policies by default.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- ImageMagick ImageMagick
From 7.0.0 · fixed in 7.1.2-15; fixed in 6.9.13-40
- Magick.NET-Q16-AnyCPUNuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-AnyCPUNuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-OpenMP-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-OpenMP-x64NuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-x64NuGet
fixed in 14.10.3
- Magick.NET-Q16-HDRI-x86NuGet
fixed in 14.10.3
- Magick.NET-Q16-OpenMP-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q16-OpenMP-x64NuGet
fixed in 14.10.3
- Magick.NET-Q16-OpenMP-x86NuGet
fixed in 14.10.3
- Magick.NET-Q16-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q16-x64NuGet
fixed in 14.10.3
- Magick.NET-Q16-x86NuGet
fixed in 14.10.3
- Magick.NET-Q8-AnyCPUNuGet
fixed in 14.10.3
- Magick.NET-Q8-OpenMP-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q8-OpenMP-x64NuGet
fixed in 14.10.3
- Magick.NET-Q8-arm64NuGet
fixed in 14.10.3
- Magick.NET-Q8-x64NuGet
fixed in 14.10.3
- Magick.NET-Q8-x86NuGet
fixed in 14.10.3