AdPlug through 2.4 contains a heap-based buffer overflow in CksmPlayer::update() in src/ksm.cpp that writes past the fixed databuf[2048] array without bounds checking. Attackers can supply a crafted .ksm module whose notes share one time slot to overflow the heap player object, causing memory corruption and denial of service.
https://hackmd.io/@haind-pwn/adplug-ksm-note-loop-databuf-oob-write
https://github.com/adplug/adplug/pull/295
https://github.com/adplug/adplug/issues/292
https://github.com/adplug/adplug/blob/e491e382479ed2246f124c96c70d94561dce59b9/src/ksm.cpp#L99-L229
Published: 2026-10-15
Updated: 2026-10-16
Base Score: 5.6
Vector: CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:C
Severity: Medium
Base Score: 6.1
Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
Severity: Medium
Base Score: 6.9
Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Severity: Medium
EPSS: 0.00143