
Eigenständiger Reproducer für CVE-2026-90781: 1-Byte-OOB-Write in alsa-lib __snd_ctl_ascii_elem_id_parse() name=-Parsing (in Anführungszeichen und ohne Anführungszeichen)
Eigenständiger C-Reproducer für CVE-2026-90781, einen 1-Byte-Out-of-Bounds-Write in alsa-libs __snd_ctl_ascii_elem_id_parse() beim Parsen von name= (sowohl in Anführungszeichen als auch ohne).
In src/control/ctlparse.c (v1.2.16.1 und früherer Entwicklungs-HEAD):
char buf[64];
...
if (size < (int)sizeof(buf)) { // BUG: allows size == 64
*ptr++ = *str;
size++;
}
...
*ptr = '\0'; // writes buf[64] when size == 64
Der numid=-Pfad wurde bereits auf sizeof(buf) - 1 korrigiert; die beiden name=-Schleifen wurden nicht angepasst.
gcc -o reproducer reproducer.c
./reproducer
# With AddressSanitizer (recommended to observe the OOB write):
gcc -fsanitize=address -g -o reproducer reproducer.c
./reproducer
WRITE of size 1 at ... Stack right redzone
reproducer.c — bildet die exakte anfällige und korrigierte Parsing-Logik nachsrc/control/ctlparse.c1e27d63 (numid=-Pfad)