Description
gbsplay through 0.0.103 contains an out-of-bounds read vulnerability in mapper_map() in mapper.c that fails to reject ROM bank indexes beyond the ROM size, causing an underflowed bank length. Attackers can supply crafted .gbr, .gbs or .gb files with malicious bank indexes to make bank_get() read far past the heap ROM buffer and crash the player.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| mmitch | gbsplay | ≤ 0.0.103 | — |
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.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | gbsplay | No fix yet | — |
| Ubuntu 26.04 LTS | gbsplay | No fix yet | — |
| Ubuntu 24.04 LTS | gbsplay | No fix yet | — |
| Ubuntu 22.04 LTS | gbsplay | No fix yet | — |
| Ubuntu 20.04 LTS | gbsplay | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | gbsplay | No fix yet | — |
| Ubuntu 16.04 LTS | gbsplay | No fix yet | — |
References
- GitHub Issue #201 issue-tracking
- https://github.com/mmitch/gbsplay product
- https://github.com/mmitch/gbsplay/commit/a281d80bc56ed63347daf740a2f7aa4f8516165a patch
- https://github.com/mmitch/gbsplay/blob/0.0.103/mapper.c#L71-L103 technical-description
- https://hackmd.io/@haindpwn/gbsplay-rom-bank-index-oob-read third-party-advisory
- VulnCheck Advisory: gbsplay through 0.0.103 Out-of-Bounds Read via mapper_map ROM Bank Index third-party-advisory