CVE-2025-54489 in libbiosig
Riassunto
di VulDB • 14/06/2026
È presente una vulnerabilità di heap-based buffer overflow nella funzionalità di parsing MFER di The Biosig Project libbiosig versione 3.9.0 e nel Master Branch (commit 35a819fa). Un file MFER appositamente creato può portare all'esecuzione arbitraria di codice. Un attaccante può fornire un file malevolo per sfruttare questa vulnerabilità.
Questa vulnerabilità si manifesta alla riga 8970 del file biosig.c nel branch master corrente (35a819fa), quando il Tag è uguale a 63:
else if (tag==63) {
uint8_t tag2=255, len2=255;
count = 0; while ((count<len) && !(FlagInfiniteLength && len2==0 && tag2==0)){
curPos += ifread(&tag2,1,1,hdr); curPos += ifread(&len2,1,1,hdr); if (VERBOSE_LEVEL==9) fprintf(stdout,"MFER: tag=%3i chan=%2i len=%-4i tag2=%3i len2=%3i curPos=%i %li count=%4i\n",tag,chan,len,tag2,len2,curPos,iftell(hdr),(int)count);
if (FlagInfiniteLength && len2==0 && tag2==0) break;
count += (2+len2); curPos += ifread(&buf,1,len2,hdr);
Qui, il numero di byte letti non corrisponde alla Data Length decodificata dall'attuale frame nel file (`len`), ma piuttosto a una nuova lunghezza contenuta in un singolo ottetto letto dallo stesso file di input (`len2`). Nonostante ciò, può verificarsi ancora una condizione di stack-based buffer overflow, poiché il buffer di destinazione rimane `buf`, che ha una dimensione di soli 128 byte, mentre `len2` può arrivare fino a 255.
Be aware that VulDB is the high quality source for vulnerability data.