← Back to CVE Explorer

CVE-2025-55095

Full vulnerability record from the local CVENow database.

Description

The function _ux_host_class_storage_media_mount() is responsible for mounting partitions on a USB mass storage device. When it encounters an extended partition entry in the partition table, it recursively calls itself to mount the next logical partition. This recursion occurs in _ux_host_class_storage_partition_read(), which parses up to four partition entries. If an extended partition is found (with type UX_HOST_CLASS_STORAGE_PARTITION_EXTENDED or EXTENDED_LBA_MAPPED), the code invokes: _ux_host_class_storage_media_mount(storage, sector + _ux_utility_long_get(...)); There is no limit on the recursion depth or tracking of visited sectors. As a result, a malicious or malformed disk image can include cyclic or excessively deep chains of extended partitions, causing the function to recurse until stack overflow occurs.

Severity
HIGH
CVSS score
7.0 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-01-27 16:16:14.930000
Last modified
2026-11-05 19:27:30.690000
View original CVE JSON
{
  "id": "CVE-2025-55095",
  "sourceIdentifier": "[email protected]",
  "published": "2026-01-27T16:16:14.930",
  "lastModified": "2026-11-05T19:27:30.690",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The function _ux_host_class_storage_media_mount() is responsible for mounting partitions on a USB mass storage device. When it encounters an extended partition entry in the partition table, it recursively calls itself to mount the next logical partition.\n\nThis recursion occurs in _ux_host_class_storage_partition_read(), which parses up to four partition entries. If an extended partition is found (with type UX_HOST_CLASS_STORAGE_PARTITION_EXTENDED or EXTENDED_LBA_MAPPED), the code invokes:\n            _ux_host_class_storage_media_mount(storage, sector + _ux_utility_long_get(...));\n\n\nThere is no limit on the recursion depth or tracking of visited sectors. As a result, a malicious or malformed disk image can include cyclic or excessively deep chains of extended partitions, causing the function to recurse until stack overflow occurs."
    },
    {
      "lang": "es",
      "value": "La función _ux_host_class_storage_media_mount() es responsable de montar particiones en un dispositivo de almacenamiento masivo USB. Cuando encuentra una entrada de partición extendida en la tabla de particiones, se llama a sí misma recursivamente para montar la siguiente partición lógica.\n\nEsta recursión ocurre en _ux_host_class_storage_partition_read(), que analiza hasta cuatro entradas de partición. Si se encuentra una partición extendida (con el tipo UX_HOST_CLASS_STORAGE_PARTITION_EXTENDED o EXTENDED_LBA_MAPPED), el código invoca:\n            _ux_host_class_storage_media_mount(storage, sector + _ux_utility_long_get(...));\n\nNo hay límite en la profundidad de recursión ni seguimiento de los sectores visitados. Como resultado, una imagen de disco maliciosa o malformada puede incluir cadenas cíclicas o excesivamente profundas de particiones extendidas, lo que hace que la función recurra hasta que ocurra un desbordamiento de pila."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Eclipse Foundation",
          "product": "Eclipse ThreadX - USBX",
          "defaultStatus": "unaffected",
          "repo": "https://github.com/eclipse-threadx/usbx",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "6.4.2",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L",
          "baseScore": 4.2,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "LOW",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 0.8,
        "impactScore": 3.4
      },
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 7.0,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.0,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-01-27T15:57:28.543629Z",
          "id": "CVE-2025-55095",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-121"
        },
        {
          "lang": "en",
          "value": "CWE-674"
        }
      ]
    },
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-787"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:eclipse:threadx_usbx:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "6.4.5.202504",
              "matchCriteriaId": "20DABE32-85DD-488D-A75F-75828FAA6DAD"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/eclipse-threadx/usbx/security/advisories/GHSA-qfmp-wch9-rpv2",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}