MonoGame / MonoGame

One framework for creating powerful cross-platform games.

Home Page:http://www.monogame.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Urgent security issue] FreeImage arbitrary code execution vulnerability

lavenderdotpet opened this issue · comments

Prerequisites

  • I have verified this issue is present in the develop branch
  • I have searched open and closed issues to ensure it has not already been reported.

MonoGame Version

na

Which MonoGame platform are you using?

N/A

Operating System

na

Description

main 2 I think is the most important to point out

both of these can run arbitrary code one of them being from the BMP plugin
so I am assuming a person could get a user to load a malicious BMP or a file with a malicious bpm inside of it

Free Image should either be forked and fixed asap or abandoned for a different library

active project i could find that use freeimage
https://github.com/sirjuddington/SLADE
https://github.com/TrenchBroom/TrenchBroom
https://github.com/RetroPie/EmulationStation
https://github.com/MonoGame/MonoGame
https://github.com/meganz/MEGAsync
https://github.com/OGRECave/ogre
https://github.com/OGRECave/ogre-next
https://github.com/Open-Cascade-SAS/OCCT
https://github.com/arrayfire/forge
https://git.sr.ht/~exec64/imv
https://github.com/arrayfire/arrayfire

Free Image v3.18.0

Free Image before v1.18.0

Steps to Reproduce

na

Minimal Example Repo

No response

Expected Behavior

na

Resulting Behavior

na

Files

na

FreeImage out of maintance for a while.
It is not clear how to fix all of them beeng out of maintance.
Probably only one alive solution is https://github.com/WinMerge/freeimage

Nothing alarming in my book and there is no action to take from developers using MonoGame. Games made with MonoGame are not exposed (because freeimage is not used by games themselves).


It should be easy to replace freeimage with StbImageSharp, which MonoGame already uses in other places. That would be a native dependency that we don't need anymore, which is always good.

Note that freeimage is only used by the content pipeline when importing image files (i.e. building XNBs). It is never used at runtime (and does not ship with games) and therefore games made with MonoGame are unbothered by this vulnerability (unless someone explicitly embed the content pipeline into a game, which is very unlikely).

TL;DR; it is very unlikely that this vulnerability can be exploited with MonoGame and if it does it would affect only developers, not players. It's easy to replace freeimage entirely, though.