Skip to content
OpenAdvisories
Critical · 9.8 CVE-2025-54489 EUVD-2025-25674GHSA-54vg-hcf2-vf9w

A stack-based buffer overflow vulnerability exists in the MFER parsing functionality of The Biosig Project libbiosig 3.9.0 and Master Branc…

Published Aug 25, 2025 · Updated Nov 3, 2025 · Assigned by talos

Description

A stack-based buffer overflow vulnerability exists in the MFER parsing functionality of The Biosig Project libbiosig 3.9.0 and Master Branch (35a819fa). A specially crafted MFER file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.This vulnerability manifests on line 8970 of biosig.c on the current master branch (35a819fa), when the Tag is 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);

Here, the number of bytes read is not the Data Length decoded from the current frame in the file (`len`) but rather is a new length contained in a single octet read from the same input file (`len2`). Despite this, a stack-based buffer overflow condition can still occur, as the destination buffer is still `buf`, which has a size of only 128 bytes, while `len2` can be as large as 255.

Affected products

VendorProductAffectedFixed
The Biosig Project libbiosig 3.9.0, Master Branch (35a819fa) —

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.

ReleasePackageFixed inAdvisory
Debian 14 biosig 3.9.5-1 —
Debian 13 biosig No fix yet —
Debian 12 biosig No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 biosig No fix yet —
Ubuntu 25.10 biosig No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS biosig No fix yet —
Ubuntu Pro 24.04 LTS biosig No fix yet —
Ubuntu Pro 22.04 LTS biosig No fix yet —

References