SixLabors/ImageSharp

File (detected as bmp) fails to open, consumes a lot of memory

skanejohan opened this issue · 4 comments

Prerequisites

  • I have written a descriptive issue title
  • I have verified that I am running the latest version of ImageSharp
  • I have verified if the problem exist in both DEBUG and RELEASE mode
  • I have searched open and closed issues to ensure it has not already been reported

ImageSharp version

3.1.3

Other ImageSharp packages and versions

N/A

Environment (Operating system, version and so on)

Windows 11

.NET Framework version

.net 8

Description

The attached (zipped) file, 126 bytes long, gives an out-of-memory error when I try to open it with the following code:

using FileStream stream = File.OpenRead("00271-imageworsener-leftshift");
SixLabors.ImageSharp.Image.Load(stream);

I believe there is a problem with the image dimensions - BmpDecoderCore.ReadImageHeaders sets this.infoHeader.Width and this.infoHeader.Height to very high values which tries to create a huge image in BmpDecoderCore.Decode().

Steps to Reproduce

See description.

Images

00271-imageworsener-leftshift.zip

Can you please re-upload the zip file. GitHub is showing varnish cache errors when I try to download it.

Our testers reported this, and it turns out the file is from a test set used to test ImageMagick - https://github.com/rip1s/Fuzzing-ImageMagick

Thanks, I'll look at this today.