MGASA-2016-0013

Source
https://advisories.mageia.org/MGASA-2016-0013.html
Import Source
https://advisories.mageia.org/MGASA-2016-0013.json
JSON Data
https://api.osv.dev/v1/vulns/MGASA-2016-0013
Related
Published
2016-01-14T01:44:39Z
Modified
2016-01-14T01:33:43Z
Summary
Updated mono packages fix security vulnerability
Details

It was found that float-parsing code used in Mono before 4.2 is derived from code vulnerable to CVE-2009-0689. The issue concerns the 'freelist' array, which is a global array of 16 pointers to 'Bigint'. This array is part of a memory allocation and reuse system which attempts to reduce the number of 'malloc' and 'free' calls. The system allocates blocks in power-of-two sizes, from 2^0 through 2^15, and stores freed blocks of each size in a linked list rooted at the corresponding cell of 'freelist'. The 'Balloc' and 'Bfree' functions which operate this system fail to check if the size parameter 'k' is within the allocated 0..15 range. As a result, a sufficiently large allocation will have k=16 and treat the word immediately after 'freelist' as a pointer to a previously-allocated chunk. The specific results may vary significantly based on the version, platform, and compiler, since they depend on the layout of variables in memory. An attacker who can cause a carefully-chosen string to be converted to a floating-point number can cause a crash and potentially induce arbitrary code execution.

References
Credits

Affected packages

Mageia:5 / mono

Package

Name
mono
Purl
pkg:rpm/mageia/mono?distro=mageia-5

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.12.1-1.2.mga5

Ecosystem specific

{
    "section": "core"
}