The RuntimeHelpers.InitializeArray method in metadata/icall.c in Mono, when Moonlight 2.x before 2.4.1 or 3.x before 3.99.3 is used, does not properly restrict data types, which allows remote attackers to modify internal read-only data structures, and cause a denial of service (plugin crash) or corrupt the internal state of the security manager, via a crafted media file, as demonstrated by modifying a C# struct.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Mono | Mono | * | * |
| Moonlight | Novell | 2.0 (including) | 2.0 (including) |
| Moonlight | Novell | 2.3.0 (including) | 2.3.0 (including) |
| Moonlight | Novell | 2.4 (including) | 2.4 (including) |
| Moonlight | Novell | 2.31 (including) | 2.31 (including) |
| Moonlight | Novell | 3.0 (including) | 3.0 (including) |
| Moonlight | Novell | 3.99 (including) | 3.99 (including) |
| Mono | Ubuntu | dapper | * |
| Mono | Ubuntu | hardy | * |
| Mono | Ubuntu | karmic | * |
| Mono | Ubuntu | lucid | * |
| Mono | Ubuntu | maverick | * |
| Mono | Ubuntu | natty | * |