Description
libmng through 2.0.3 contains a heap-based buffer overflow vulnerability in mng_read_ordr() that allows attackers to corrupt heap memory because ORDR entry buffers are sized by 5-byte on-wire records instead of 8-byte in-memory entries. Attackers can supply a crafted MNG file with MHDR, DHDR and a multi-record ORDR chunk to applications calling mng_read or mng_readdisplay, writing attacker-controlled data past the allocation and crashing the application.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| libmng | libmng | ≤ 2.0.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | libmng | No fix yet | — |
| Debian 13 | libmng | No fix yet | — |
| Debian 12 | libmng | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | libmng | No fix yet | — |
| Ubuntu 26.04 LTS | libmng | No fix yet | — |
| Ubuntu 24.04 LTS | libmng | No fix yet | — |
| Ubuntu 22.04 LTS | libmng | No fix yet | — |
| Ubuntu 20.04 LTS | libmng | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | libmng | No fix yet | — |
| Ubuntu 16.04 LTS | libmng | No fix yet | — |
References
- https://hackmd.io/@haindpwn/libmng-ordr-chunk-store-oob-write technical-description exploit
- https://sourceforge.net/projects/libmng/files/libmng-devel/2.0.3/ product
- https://sourceforge.net/projects/libmng/ product
- VulnCheck Advisory: libmng through 2.0.3 Heap Buffer Overflow via ORDR Chunk Reader mng_read_ordr third-party-advisory