← Back to CVE Explorer

CVE-2026-42566

Full vulnerability record from the local CVENow database.

Description

Meshtastic is an open source mesh networking solution. Prior to version 2.7.23.b246bcd, a single node advertising a User.long_name that contains a malformed character encoding can render other radios unusable over BLE when managed through the iOS app. The malformed name does not need to be maliciously crafted — it can arise from ordinary buffer truncation and has been observed occurring naturally in the wild. At least one code path could place a null terminator in the middle of a multibyte sequence, leaving a malformed User.long_name in the node database. The problem surfaced downstream: the iOS app enforced encoding validation and therefore cannot parse a node database once it contains a poisoned entry. This caused BLE sync to enter a fail/retry loop, resulting in loss of control over the affected device. For a typical user managing their radio with the iOS app, the device becomes effectively unusable until the poisoned node ages out of the on-device database, or unless they have an alternate management path (e.g., the Python CLI, which can be used to identify and remove the offending entries manually). Because the malformed name propagates through the mesh, the temporary presence of a single affected node can degrade BLE management for iOS users across a wide geographical area for an extended period. Less technical users have no straightforward recovery path. Starting in version 2.7.23.b246bcd, the firmware has added input sanitization and regression tests demonstrating recovery for already-poisoned devices. The apps have also taken steps to ensure more graceful handling of malformed encoding sequences as well.

Severity
HIGH
CVSS score
7.5 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-07-20 00:16:58.050000
Last modified
2026-10-24 20:10:00.137000
View original CVE JSON
{
  "id": "CVE-2026-42566",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-20T00:16:58.050",
  "lastModified": "2026-10-24T20:10:00.137",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Meshtastic is an open source mesh networking solution. Prior to version 2.7.23.b246bcd, a single node advertising a User.long_name that contains a malformed character encoding can render other radios unusable over BLE when managed through the iOS app. The malformed name does not need to be maliciously crafted — it can arise from ordinary buffer truncation and has been observed occurring naturally in the wild. At least one code path could place a null terminator in the middle of a multibyte sequence, leaving a malformed User.long_name in the node database. The problem surfaced downstream: the iOS app enforced encoding validation and therefore cannot parse a node database once it contains a poisoned entry. This caused BLE sync to enter a fail/retry loop, resulting in loss of control over the affected device. For a typical user managing their radio with the iOS app, the device becomes effectively unusable until the poisoned node ages out of the on-device database, or unless they have an alternate management path (e.g., the Python CLI, which can be used to identify and remove the offending entries manually). Because the malformed name propagates through the mesh, the temporary presence of a single affected node can degrade BLE management for iOS users across a wide geographical area for an extended period. Less technical users have no straightforward recovery path. Starting in version 2.7.23.b246bcd, the firmware has added input sanitization and regression tests demonstrating recovery for already-poisoned devices. The apps have also taken steps to ensure more graceful handling of malformed encoding sequences as well."
    },
    {
      "lang": "es",
      "value": "Meshtastic es una solución de red mallada de código abierto. Antes de la versión 2.7.23.b246bcd, un solo nodo que anuncia un User.long_name que contiene una codificación de caracteres malformada puede dejar otras radios inutilizables a través de BLE cuando se gestionan a través de la aplicación de iOS. El nombre malformado no necesita ser creado maliciosamente - puede surgir de una truncación de búfer ordinaria y se ha observado que ocurre de forma natural en el entorno real. Al menos una ruta de código podría colocar un terminador nulo en medio de una secuencia multibyte, dejando un User.long_name malformado en la base de datos del nodo. El problema surgió en la parte descendente: la aplicación de iOS aplicaba la validación de codificación y, por lo tanto, no puede analizar una base de datos de nodos una vez que contiene una entrada envenenada. Esto hizo que la sincronización BLE entrara en un bucle de fallo/reintento, lo que resultó en la pérdida de control sobre el dispositivo afectado. Para un usuario típico que gestiona su radio con la aplicación de iOS, el dispositivo se vuelve efectivamente inutilizable hasta que el nodo envenenado caduque de la base de datos del dispositivo, o a menos que tengan una ruta de gestión alternativa (por ejemplo, la CLI de Python, que se puede usar para identificar y eliminar las entradas ofensivas manualmente). Debido a que el nombre malformado se propaga a través de la malla, la presencia temporal de un solo nodo afectado puede degradar la gestión BLE para los usuarios de iOS en una amplia área geográfica durante un período prolongado. Los usuarios menos técnicos no tienen una ruta de recuperación sencilla. A partir de la versión 2.7.23.b246bcd, el firmware ha añadido saneamiento de entrada y pruebas de regresión que demuestran la recuperación para dispositivos ya envenenados. Las aplicaciones también han tomado medidas para asegurar un manejo más robusto de las secuencias de codificación malformadas también."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "meshtastic",
          "product": "firmware",
          "versions": [
            {
              "version": "< 2.7.23.b246bcd",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 7.5,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-21T14:53:28.643598Z",
          "id": "CVE-2026-42566",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-20"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:meshtastic:meshtastic_firmware:*:*:*:*:*:*:*:*",
              "versionEndIncluding": "2.7.22",
              "matchCriteriaId": "2040D50F-8708-4B64-8D94-6BCDE3FD6D9A"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/meshtastic/firmware/commit/2cc13a1132d94b66a9505e7f07ee2d3e83bd0c95",
      "source": "[email protected]",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/meshtastic/firmware/security/advisories/GHSA-7ph5-2mjv-69h8",
      "source": "[email protected]",
      "tags": [
        "Vendor Advisory"
      ]
    }
  ]
}