Description
gbsplay through 0.0.103 contains a heap out-of-bounds read vulnerability in vgm_open() in gbs.c that walks the VGM command stream without bounds checks. Attackers can supply a crafted VGM file with wait opcodes and no 0x66 terminator to read past the heap 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/91b1f6df0abd3914f91caa528ec3213d731999e8 patch
- https://github.com/mmitch/gbsplay/blob/0.0.103/gbs.c#L996-L1010 technical-description
- https://hackmd.io/@haindpwn/gbsplay-rom-bank-index-oob-read third-party-advisory
- VulnCheck Advisory: gbsplay through 0.0.103 Heap Out-of-Bounds Read via vgm_open in gbs.c third-party-advisory