UBUNTU-CVE-2025-54487 (CVE-2025-54487)

Vulnerability from osv_ubuntu – Published: 2025-08-25 14:15 – Updated: 2026-09-02 16:10 – Source website
VLAI
Details

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>6) fprintf(stderr,"Warning MFER tag12 incorrect length %i>6\n",len); val32 = 0; int8_t v8; curPos += ifread(&UnitCode,1,1,hdr); curPos += ifread(&v8,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.

Severity

{
  "affected": [
    {
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "biosig-tools",
            "binary_version": "2.3.3-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "libbiosig3",
            "binary_version": "2.3.3-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "octave-biosig",
            "binary_version": "2.3.3-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "python3-biosig",
            "binary_version": "2.3.3-1ubuntu0.1~esm1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:22.04:LTS",
        "name": "biosig",
        "purl": "pkg:deb/ubuntu/biosig@2.3.3-1ubuntu0.1~esm1?arch=source\u0026distro=esm-apps/jammy"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "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"
      ]
    },
    {
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "biosig-tools",
            "binary_version": "2.6.0-1ubuntu1+esm1"
          },
          {
            "binary_name": "libbiosig3",
            "binary_version": "2.6.0-1ubuntu1+esm1"
          },
          {
            "binary_name": "octave-biosig",
            "binary_version": "2.6.0-1ubuntu1+esm1"
          },
          {
            "binary_name": "python3-biosig",
            "binary_version": "2.6.0-1ubuntu1+esm1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:24.04:LTS",
        "name": "biosig",
        "purl": "pkg:deb/ubuntu/biosig@2.6.0-1ubuntu1+esm1?arch=source\u0026distro=esm-apps/noble"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "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"
      ]
    },
    {
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "biosig-tools",
            "binary_version": "3.9.0-1"
          },
          {
            "binary_name": "libbiosig3",
            "binary_version": "3.9.0-1"
          },
          {
            "binary_name": "octave-biosig",
            "binary_version": "3.9.0-1"
          },
          {
            "binary_name": "python3-biosig",
            "binary_version": "3.9.0-1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:25.10",
        "name": "biosig",
        "purl": "pkg:deb/ubuntu/biosig@3.9.0-1?arch=source\u0026distro=questing"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "2.6.1-1build3",
        "3.9.0-1"
      ]
    },
    {
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "biosig-tools",
            "binary_version": "3.9.0-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "libbiosig3",
            "binary_version": "3.9.0-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "octave-biosig",
            "binary_version": "3.9.0-1ubuntu0.1~esm1"
          },
          {
            "binary_name": "python3-biosig",
            "binary_version": "3.9.0-1ubuntu0.1~esm1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:26.04:LTS",
        "name": "biosig",
        "purl": "pkg:deb/ubuntu/biosig@3.9.0-1ubuntu0.1~esm1?arch=source\u0026distro=esm-apps/resolute"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "3.9.0-1",
        "3.9.0-1build1",
        "3.9.0-1build2",
        "3.9.0-1build3",
        "3.9.0-1ubuntu0.1~esm1"
      ]
    }
  ],
  "aliases": [],
  "details": "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.",
  "id": "UBUNTU-CVE-2025-54487",
  "modified": "2026-09-02T16:10:14Z",
  "published": "2025-08-25T14:15:00Z",
  "references": [
    {
      "type": "REPORT",
      "url": "https://ubuntu.com/security/CVE-2025-54487"
    },
    {
      "type": "REPORT",
      "url": "https://www.cve.org/CVERecord?id=CVE-2025-54487"
    },
    {
      "type": "REPORT",
      "url": "https://sourceforge.net/p/biosig/mailman/message/59224259/"
    },
    {
      "type": "REPORT",
      "url": "https://talosintelligence.com/vulnerability_reports/TALOS-2025-2234"
    }
  ],
  "related": [],
  "schema_version": "1.7.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    },
    {
      "score": "medium",
      "type": "Ubuntu"
    }
  ],
  "upstream": [
    "CVE-2025-54487"
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…