{"id":"CVE-2025-54487","aliases":["DEBIAN-CVE-2025-54487","EUVD-2025-25676","GHSA-9wfq-rqg3-9fm2","UBUNTU-CVE-2025-54487"],"status":"published","title":"A stack-based buffer overflow vulnerability exists in the MFER parsing functionality of The...","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r\n\r\n                else if (tag==12)    //0x0C\r\n                {\r\n                    // sampling resolution\r\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r\n                    val32   = 0;\r\n                    int8_t  v8;\r\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\r\n                    curPos += ifread(\u0026v8,1,1,hdr);\r\n                    curPos += ifread(buf,1,len-2,hdr);\r\n\r\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00682,"percentile":0.52978,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-121"],"published":"2025-08-25T13:53:46Z","modified":"2026-10-17T12:57:08Z","fixes":[{"ecosystem":"Debian:14","package":"biosig","fixed_in":["3.9.5-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0-1","2.5.2-1","2.5.2-2","2.6.0-1","2.6.1-1","3.9.0-1","3.9.5-1"]},{"source":"osv","ecosystem":"Debian:13","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.0-1","3.9.5-1"]},{"source":"osv","ecosystem":"Debian:14","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.5-1"}]}],"versions":["3.9.0-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.2-4","2.1.2-4build1","2.1.2-4build2","2.3.3-1","2.3.3-1build1","2.3.3-1build2","2.3.3-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0-1build2","2.5.2-1","2.5.2-1build1","2.5.2-2","2.6.0-1","2.6.0-1build1","2.6.0-1ubuntu1","2.6.0-1ubuntu1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.1-1build3","3.9.0-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.0-1build3","3.9.5-1","3.9.5-1build1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"biosig","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.0-1","3.9.0-1build1","3.9.0-1build2","3.9.0-1build3","3.9.0-1ubuntu0.1~esm1"]}],"products":[{"vendor":"libbiosig_project","product":"libbiosig"},{"vendor":"the biosig project","product":"libbiosig"}],"references":[{"url":"https://talosintelligence.com/vulnerability_reports/TALOS-2025-2234","tags":["Exploit","Third Party Advisory","evidence","report"]},{"url":"https://www.talosintelligence.com/vulnerability_reports/TALOS-2025-2234","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54487"},{"url":"https://github.com/advisories/GHSA-9wfq-rqg3-9fm2"},{"url":"https://security-tracker.debian.org/tracker/CVE-2025-54487","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2025-54487","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-54487","tags":["report"]},{"url":"https://sourceforge.net/p/biosig/mailman/message/59224259/","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2025-54487","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r\n\r\n                else if (tag==12)    //0x0C\r\n                {\r\n                    // sampling resolution\r\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r\n                    val32   = 0;\r\n                    int8_t  v8;\r\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\r\n                    curPos += ifread(\u0026v8,1,1,hdr);\r\n                    curPos += ifread(buf,1,len-2,hdr);\r\n\r\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T13:53:46.068Z","modified":"2025-11-03T18:13:28.729Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-121"],"updated_at":"2026-11-02T14:32:27.603809Z"}],"euvd":[{"id":"EUVD-2025-25676","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r\n\r\n                else if (tag==12)    //0x0C\r\n                {\r\n                    // sampling resolution\r\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r\n                    val32   = 0;\r\n                    int8_t  v8;\r\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\r\n                    curPos += ifread(\u0026v8,1,1,hdr);\r\n                    curPos += ifread(buf,1,len-2,hdr);\r\n\r\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T13:53:46Z","modified":"2025-11-03T18:13:28Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T19:49:34.635725Z"}],"ghsa":[{"id":"GHSA-9wfq-rqg3-9fm2","title":"A stack-based buffer overflow vulnerability exists in the MFER parsing functionality of The...","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\n\n                else if (tag==12)    //0x0C\n                {\n                    // sampling resolution\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\n                    val32   = 0;\n                    int8_t  v8;\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\n                    curPos += ifread(\u0026v8,1,1,hdr);\n                    curPos += ifread(buf,1,len-2,hdr);\n\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T15:32:01Z","modified":"2025-11-03T21:35:28Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-121"],"updated_at":"2026-11-02T15:04:25.4654Z"}],"nvd":[{"id":"CVE-2025-54487","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r\n\r\n                else if (tag==12)    //0x0C\r\n                {\r\n                    // sampling resolution\r\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r\n                    val32   = 0;\r\n                    int8_t  v8;\r\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\r\n                    curPos += ifread(\u0026v8,1,1,hdr);\r\n                    curPos += ifread(buf,1,len-2,hdr);\r\n\r\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T14:15:34.86Z","modified":"2026-06-17T09:40:11.6Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-121"],"updated_at":"2026-11-02T14:11:25.826804Z"}],"osv":[{"id":"CVE-2025-54487","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r\n\r\n                else if (tag==12)    //0x0C\r\n                {\r\n                    // sampling resolution\r\n                    if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r\n                    val32   = 0;\r\n                    int8_t  v8;\r\n                    curPos += ifread(\u0026UnitCode,1,1,hdr);\r\n                    curPos += ifread(\u0026v8,1,1,hdr);\r\n                    curPos += ifread(buf,1,len-2,hdr);\r\n\r\nIn addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T14:15:34.86Z","modified":"2026-04-10T05:29:35.687756Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:50.863921Z"},{"id":"DEBIAN-CVE-2025-54487","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:\r \r                 else if (tag==12)    //0x0C\r                 {\r                     // sampling resolution\r                     if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);\r                     val32   = 0;\r                     int8_t  v8;\r                     curPos += ifread(\u0026UnitCode,1,1,hdr);\r                     curPos += ifread(\u0026v8,1,1,hdr);\r                     curPos += ifread(buf,1,len-2,hdr);\r \r In addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T14:15:34.86Z","modified":"2026-09-01T20:05:54.506012087Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:47.378563Z"},{"id":"UBUNTU-CVE-2025-54487","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 8842 of biosig.c on the current master branch (35a819fa), when the Tag is 12:                 else if (tag==12)    //0x0C                 {                     // sampling resolution                     if (len\u003e6) fprintf(stderr,\"Warning MFER tag12 incorrect length %i\u003e6\\n\",len);                     val32   = 0;                     int8_t  v8;                     curPos += ifread(\u0026UnitCode,1,1,hdr);                     curPos += ifread(\u0026v8,1,1,hdr);                     curPos += ifread(buf,1,len-2,hdr); In addition to values of `len` greater than 130 triggering a buffer overflow, a value of `len` smaller than 2 will also trigger a buffer overflow due to an integer underflow when computing `len-2` in this code path.","status":"published","published":"2025-08-25T14:15:00Z","modified":"2026-10-17T12:57:08.097782532Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T16:55:50.817402Z"}]}}
